中文脚本库
1. 如何使用GreaseMonkey
选载自 mozilla 知识库(中文):
1.1.
Greasemonkey是什么?
Greasemonkey 是一个 Firefox
扩展,它有通过编写脚本来改变被访问网页的功能。使用它,能使您访问的网站更便于阅读或者更便于使用。使用它,您能修复网页渲染的缺陷,而无须烦扰网站管理员。使用它,您能让网页更好地使用残疾人援助技术,清楚响亮地说出网页内容,或者将网页内容变为盲文。使用它,您能自动地获得其它网站的数据,从而使两个网站更好地相互链接起来。
然而
Greasemonkey 本身并没有作这些事。实际上,在您安装它之后,您注意到根本没有任何变动...直到您开始安装一种叫做“用户脚本”的东西。用户脚本(user
script)就是一大块 Javascript 代码,还有些附加信息,用来告诉 Greasemonkey
脚本应该在何时何地运行。每个用户脚本能够针对具体页面,具体网站,或者一批网站。用户脚本能做到您在 Javascript
中可做到的任何事情。实际上,它能做得更多,因为 Greasemonkey 提供了专供用户脚本使用的函数。
Greasemonkey 脚本库
(http://nck.us/collab/GreaseMonkeyUserScripts)包含了上百个用户脚本,这些都是用户为了满足自己的需要而写的。一旦您写了自己的用户脚本,只要您认为别人也许发现它有用,您可以把它添加到脚本库中。您也可以自己使用,因为从编写过程中获得知识,获得满足感,才是更重要的。
这是Greasemonkey的邮件列表 ,您可以在那里提问,发表用户脚本,和讨论新特性的想法。Greasemonkey
开发人员常去这个邮件列表; 他们也许甚而回答您的问题!
[编辑]
为什么写这本书?
Dive Into Greasemonkey 是从
Greasemonkey
邮件列表中的用户讨论和作者本人编写用户脚本的经验中发展而来。仅仅一个星期,作者就发现,新用户经常会提出重复的问题,而这些问题是被回答过的。此外,在写了几个用户脚本以后,作者发现,一些常用的模式,以及可以解决某一类问题的成块的可重用代码会反复出现。因此,作者开始整理这些有用的模式,解释编程思路,同时作者也从中获益。
如果没有
Greasemonkey 的开发者 Aaron Boodman 和 Jeremy Dunck
的大力帮助,没有那些对我的初稿提出宝贵的反馈建议的用户,就不会有现在的这本书。在这里对他们表示衷心的感谢。
1.2. 安装
Greasemonkey
要写用户脚本,您需要先会安装0.3或以上版本的
Greasemonkey 扩展。
步骤: 安装 Greasemonkey 扩展
1. 访问Greasemonkey的主页
2. 点击名为“Install
Greasemonkey”(注:英文主页)的链接
3.
Firefox会显示(可能在浏览器窗口的上方)它阻止网站安装软件的信息。点击编辑选项...打开"允许的站点"对话框,然后点击允许,将 Greasemonkey
的网站添加到允许安装软件的网站列表中。单击确定关闭“允许的站点”对话框
4. 再次点击名为“Install Greasemonkey”的链接
5.
现在将弹出安装对话框,确定您真的要安装。等几秒钟,安装按钮变亮,再点击安装
6.
重新启动您的浏览器
一旦您重新启动了浏览器,选择工具(T)菜单。您应该看到三个菜单项:Install User Script..., Manage
User Scripts..., 和 User Script Commands。 只要 Manage User Scripts...
可以使用,那么就装好了。其他的两个要在特殊的情况才能使用。
一般来说,安装好
Greasemonkey,(除了三个菜单项外)并不会给浏览器添加任何功能。它能让您添加另外的东西,名叫“用户脚本”(user
script),它可以用来定制指定的网页。
1.3. 安装用户脚本
一个
Greasemonkey 的“用户脚本(user
script)”就是一个用Javascript编写的文件,您可以设置在一个或多个网页上执行安装的用户脚本。
您可以在Greasemonkey
script repository
(http://nck.us/collab/GreaseMonkeyUserScripts)(Greasemonkey脚本库,英文网站)找到许多用户脚本。尽管没人要求您必须把您的脚本放到那儿去,实际上,您可以把您的脚本共享到任何地方,这样其他人就可以安装它了。您甚至不需要一台网络服务器;因为你可以从本地文件中安装用户脚本。
用户脚本的文件名必须以 .user.js
结尾。
我(原作者)写的第一个用户脚本叫做
“Butler”。它增强了Google的搜索结果的功能。
步骤: 安装 Butler 用户脚本
✪ 怎样安装用户脚本
1. 访问
Butler 的主页,将看到有关 Butler
的功能的简要概述。(并不是所有的用户脚本都有主页; Greasemonkey 只关心用户脚本本身。)
2. 点击“Download version...”
链接,然后您会在浏览器中看到这个用户脚本中的内容,有好几页长。
3. 打开 工具 菜单,Install User Script...
这个菜单项应该可以用了,就点它。
4. 弹出标题为“Install User
Script”的对话框,其中显示了将要安装的用户脚本名称,简介以及作用与排除的页面列表。所有这些信息都包含在脚本之中;以后您会学到如何在脚本中用元数据(metadata)来定义它们。
5.
点击 确定,完成安装。
(转载者注:对已经下载在本地硬盘的脚本,把这个脚本拖曳进FF窗口,或在FF中
文件-->打开
这个脚本,并使这个脚本显示在前台,再进行3、4、5步骤就可以完成安装。)
没有意外的话,Greasemonkey
会弹出一个提示窗口,写到“Success! Refresh page to see changes.”(安装成功!刷新页面以查看页面变化,)
(译者注:在0.6.3中取消了提示窗口,改为了状态栏提示,所以安装时请注意状态栏)
现在,您可以在Google中任意搜索一些东西。在搜索结果页面的顶部会有一行显示“Try
your search on: Yahoo, Ask Jeeves, AlltheWeb, ...”。在其下面会有一个标签显示“Enhanced by
Butler”。所有这些东西都是由 Butler 用户脚本添加进去的。
1.4. 管理您的用户脚本
如果您喜欢您能安装许多个
Greasemonkey 脚本。 Greasemonkey 有图解配置对话框处理您的用户脚本: 暂时禁用, 改变他们的配置,
或完全地卸载。
步骤: 暂时禁用 Butler
✪ 怎样禁用 user script
1.
从菜单开始,选择 工具 → Manage User Scripts... Greasemonkey 会弹出一个对话框,其标题为“Manage User
Scripts”。
(译者注:由于Greasemonkey暂时没有中文版,所以Greasemonkey的界面术语暂不翻译。)
(另一译者注:现在Mozilla
Update已经有中文版Greasemonkey ,后面的我真不知道该不该翻译成中文...)
2.
在对话框左边的方框是您安装的所有 user script 的列表。(如果您从头到尾按照步骤来的话,这里应该只有一个脚本: Butler)
3.
选中列表中的 Butler 然后取消 Enable
复选框。左边列表中的"Butler"就会由黑色转为灰色。(这样当它选中的时候,就会看起来比较费劲,但是当您安装了很多脚本时就非常有用了。)
4. 点击
确定 退出“Manage User Scripts” 对话框
现在 Butler
已经安装,但是未被启用。您在Google上随便搜索下就会发现确实如此。在页面顶端的“Enhanced by Butler” 应该没有了。您可以“Manage
User Scripts”对话框中重复刚才的步骤,重新选择 Butler 重新选择 Enabled
复选框。
注意
虽然我用暂时(“temporary”)来形容禁用 user script
的动作,但是如果您不重新启用它,它就始终被禁用。之所以是暂时,只因为您可以方便的启用它而不需要再到我的网站上来找原始脚本,而且还要重新安装。
您完全可以用“Manage
User Scripts”对话框来卸载脚本。
步骤: 卸载 Butler
✪ 怎样卸载 user script
1.
在菜单中,选择 工具 → Manage User Scripts.... Greasemonkey 又会弹出“Manage User Scripts”
对话框。
2. 在左边的方框中,选择 Butler 点击 Uninstall。不需要确认,这个 user script 马上就被卸载掉了。
3.
第三步... 没有第三步! (With apologies to Jeff
Goldblum.)
先等一下,还没完呢!您也可以修改您之前安装过的用户脚本的配置。记得您第一次安装Butler时看到的对话框
(http://diveintogreasemonkey.org/install/userscript.html)吗,就是那个有两个“包含的网站”和“排除的网站”(sites
to include and exclude)列表的?您可以在“管理用户脚本(Manage User
Scripts)”对话框中自己修改那些列表,不管是第一次安装时还是在其它什么时候。
(译者注:这两个列表其实就是脚本的执行清单和豁免清单,支持用通配符表示网址。)
让我们继续,例如,您认为
Butler 不错,但是觉得它在Froogle (http://froogle.google.com/)(Google's proct comparison
site)上毫无用处。那么,您就可以修改用户脚本配置来排除这个网站,而让它在其它Google网站上仍然起作用。
步骤:重新配置 Butler
以排除 Froogle
✪ 怎样修改user script配置
1. 在菜单中, 选择
工具 → Manage User Scripts.... ,Greasemonkey会弹出“Manage User Scripts”对话框。
2.
在对话框左边的面板中, 选择 “Butler”. 接着在右边的面板中就会显示两个列表,一个是Included
pages(“http://*.google.*/*”),另一个是Excluded pages(blank)。
3. 在“Excluded pages”
列表那里点击“Add....”
4. Greasemonkey会弹出另一个标题为“Add
Page”的对话框提示你输入网址。在其中输入http://froogle.google.com/*然后点 OK。
5. 在“Manage User
Scripts” 的对话框中, “excluded pages list”现在就会有您新添加的地址, http://froogle.google.com/*, “*”表示这个脚本不会在 froogle.google.com
站点的任何页面上执行. “*”被用做为一个通配符,您可以在 URL: 域名/路径中的任何位置使用它,甚至在(http://)中.
6. 点 OK
退出“Manage User Scripts” 对话框。在
“Froogle”中搜索某个字段,确认“Butler”不会被执行。但是,它仍然会在普通搜索、图片搜索的结果中,以及google站点的其他页面中执行。
若扩展是比较新的(我这里是0.7.2008***),则已经提供对中文脚本的支持,可以跳过下面的内容。
这里有一个修改了的greasemonkey0.6.4扩展(修复了GM菜单、增加对中文注释的支持):
一个fishbone版主代为修改的greasemonkey0.6.5扩展(修复了GM菜单、增加对中文注释的支持):
修改的greasemonkey0.6.6扩展(增加了对中文脚本的支持):
【当时没在FX1.5测试过,后来试了一下,发现用户脚本命令里的菜单还会重复(刷新时),建议FX1.5的装下面1103的修改版】
修改的greasemonkey0.6.6扩展(增加了对中文脚本的支持,修复用户脚本命令里的菜单重复现象):
修改的greasemonkey0.6.7扩展(增加了对中文脚本的支持,修复用户脚本命令里的菜单重复现象):