当我第一次使用 Mac 上自带的 Safari 3 的时候,有一项功能我特别喜欢,就是 flash 视频都被暂停载入。举例来说,当我使用 YouTube 的时候,我喜欢用鼠标中键或者按住 command 键点击视频链接,在后台标签页中载入多个视频,然后一个一个的看。在 Safari 中,页面的所有元素都被自动载入,除了视频。整个显式视频的 Flash 窗口都会在我进入那个标签页的时候才开始载入。
在 Firefox 中则一直没有这个功能。如果我在 Firefox 中做同样的事情,YouTube 视频会在我还没有切换到那个标签页之前就自己载入播放,这样会导致多个视频同时播放,声音非常嘈杂,让我不得不一个一个的先把那些视频都暂停,然后才能开始看。这样非常麻烦,而且降低了观看视频的兴致。
我一直在觉得,为什么这个功能在 Firefox 中没有被实现?难道开发者都不看 YouTube?或者 Firefox 的开发者都没有尝试过 Safari?我周围多数的 Mac 用户都是使用 Firefox 的,我在一些 Firefox 官方介绍的视频中也看到他们用的是 Mac,所以这一点应该不成立。既然他们用 Mac 的话,总有机会试验一下 Safari 吧,就算不是所有人试用 Safari 的过程中会打开 YouTube,但总应该有一部分几率能让他们发现这一点的。我还怀疑是不是这个功能已经实现了,只是没有默认打开而已。不过我找了几次 Firefox 的设定窗口,都没有看到相关选项。当然,如果确实是因为我粗心没找到的话,也请不要嘲笑我。
昨天晚上,由于看到了 Firefox 3.6 发布的消息,我又去了一些 Firefox 相关的网站看了一看,主要是想了解一下 3.6 版本的新特性之类的。Personas 算是主要的一点,虽然我觉得对我来说没什么用,但实时性这一点来说确实很酷。改动的是整个窗口的 theme,我觉得实现起来应该有些难度,不同平台下的代码可能也不同。看这些的时候我顺便浏览了一下 Firefox 的 Add-ons。我在出国前用的 Firefox for Windows 中总要安装一堆的扩展,可能是因为那时候 Firefox 的功能还没有发展完整的原因,再加上我之前使用的浏览器是 GoSuRF,一个 IE 浏览器的外壳,里面的一些东西,比如说拖拽,我很喜欢。因此我后来换用 Firefox 的时候就弄了一堆扩展来模拟 GoSuRF 的行为。后来等我在 Mac 上使用 Firefox 的时候,Firefox 的功能已经很完整了。很多行为,都有了简便的方法来完成,不再需要那一堆扩展了,所以在 Mac 上,我的 Firefox 只安装了很少的扩展。主要使用的是 Adblock Plus、NoScript 和 del.icio.us 书签,后来为了完成作业安装了 Firebug。再往后看了李笑来的介绍文章安装了 Greasemonkey 和 GreaseFire,其它的扩展就都是微不足道的了。
昨天晚上我在浏览 Firefox 的 Add-ons 列表时,正好看到了 GreaseMonkey。我突然意识到,GreaseMonkey 不久是用来改变网页行为的吗,说不定可以让 YouTube 停止自动播放,满足我的要求。于是我打开了 YouTube,用 GreaseFire 找到了 20 多个 YouTube 相关的脚本,挨个看看介绍,就找到了几个有暂停功能的脚本。我选择了排名比较靠前的一个名为 YouTube Auto Buffer & Auto HD & Remove Ads 的脚本,由 JoeSimmons 开发。据介绍说它有三种功能,自动缓冲(变相的完成了我的需求)、自动高清播放、以及移除广告。后面两个功能都不是我需要的,但有了第一个功能,就能在打开一个视频时自动让视频暂停了。
说这个脚本变相的完成了我的需求,因为它并不是我原先假设的行为,但也可以用了。我观察了一下它的行为,当打开一个 YouTube 视频页面的时候,视频会播放大概有一秒种左右的时间,然后视频暂停,进度回到视频开始的地方。我估计这个一秒是脚本执行的延迟,影响不是很大。这种行为与我想要的行为的区别是:当我在 Safari 的后台标签打开一个 YouTube 视频页面的时候,Safari 并不载入播放窗口,直到我实际上进入这个标签页之后才开始载入并播放。这样当我在看一个被分成几部分的视频时,当我看完一个视频,我要做的就是关闭当前的标签页并等待新视频的播放。而在 Firefox 中,我需要点一下鼠标来手动让这个视频播放。
还有一点不同是在 Safari 中,所有的视频网站,包括 Vimeo、土豆等网站,都有同样的后期载入效果,而我目前的 Firefox 只对 YouTube 有效。我主要是想在 YouTube 上看视频,所以这个脚本已经可以满足我了。不过我觉得可能有人针对其它的视频网站也写了脚本,再用 GreaseFire 找找看看吧。