本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

转播到腾讯微博
返回列表 回复 发帖
选载自 mozilla 知识库(中文):
http://wiki.mozcn.org/index.php/Firefox:Di...to_Greasemonkey

1.1. Greasemonkey是什么?

Greasemonkey 是一个 Firefox 扩展,它有通过编写脚本来改变被访问网页的功能。使用它,能使您访问的网站更便于阅读或者更便于使用。使用它,您能修复网页渲染的缺陷,而无须烦扰网站管理员。使用它,您能让网页更好地使用残疾人援助技术,清楚响亮地说出网页内容,或者将网页内容变为盲文。使用它,您能自动地获得其它网站的数据,从而使两个网站更好地相互链接起来。

然而 Greasemonkey 本身并没有作这些事。实际上,在您安装它之后,您注意到根本没有任何变动...直到您开始安装一种叫做“用户脚本”的东西。用户脚本(user script)就是一大块 Javascript 代码,还有些附加信息,用来告诉 Greasemonkey 脚本应该在何时何地运行。每个用户脚本能够针对具体页面,具体网站,或者一批网站。用户脚本能做到您在 Javascript 中可做到的任何事情。实际上,它能做得更多,因为 Greasemonkey 提供了专供用户脚本使用的函数。

Greasemonkey 脚本库 (http://dunck.us/collab/GreaseMonkeyUserScripts)包含了上百个用户脚本,这些都是用户为了满足自己的需要而写的。一旦您写了自己的用户脚本,只要您认为别人也许发现它有用,您可以把它添加到脚本库中。您也可以自己使用,因为从编写过程中获得知识,获得满足感,才是更重要的。

这是Greasemonkey的邮件列表 (http://greasemonkey.mozdev.org/list.html),您可以在那里提问,发表用户脚本,和讨论新特性的想法。Greasemonkey 开发人员常去这个邮件列表; 他们也许甚而回答您的问题!
[编辑]
为什么写这本书?

Dive Into Greasemonkey 是从 Greasemonkey 邮件列表中的用户讨论和作者本人编写用户脚本的经验中发展而来。仅仅一个星期,作者就发现,新用户经常会提出重复的问题,而这些问题是被回答过的。此外,在写了几个用户脚本以后,作者发现,一些常用的模式,以及可以解决某一类问题的成块的可重用代码会反复出现。因此,作者开始整理这些有用的模式,解释编程思路,同时作者也从中获益。

如果没有 Greasemonkey 的开发者 Aaron Boodman 和 Jeremy Dunck 的大力帮助,没有那些对我的初稿提出宝贵的反馈建议的用户,就不会有现在的这本书。在这里对他们表示衷心的感谢。

1.2. 安装 Greasemonkey

要写用户脚本,您需要先会安装0.3或以上版本的 Greasemonkey 扩展。

步骤: 安装 Greasemonkey 扩展

1. 访问Greasemonkey的主页 (http://greasemonkey.mozdev.org/)
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://dunck.us/collab/GreaseMonkeyUserScripts)(Greasemonkey脚本库,英文网站)找到许多用户脚本。尽管没人要求您必须把您的脚本放到那儿去,实际上,您可以把您的脚本共享到任何地方,这样其他人就可以安装它了。您甚至不需要一台网络服务器;因为你可以从本地文件中安装用户脚本。

用户脚本的文件名必须以 .user.js 结尾。


我(原作者)写的第一个用户脚本叫做 “Butler”。它增强了Google的搜索结果的功能。

步骤: 安装 Butler 用户脚本

怎样安装用户脚本 (http://diveintogreasemonkey.org/videos/install-user-script.html)。

1. 访问 Butler (http://diveintomark.org/projects/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 (http://diveintogreasemonkey.org/videos/disable-user-script.html)

1. 从菜单开始,选择 工具 → Manage User Scripts... Greasemonkey 会弹出一个对话框,其标题为“Manage User Scripts”。
(译者注:由于Greasemonkey暂时没有中文版,所以Greasemonkey的界面术语暂不翻译。)
(另一译者注:现在Mozilla Update已经有中文版Greasemonkey (http://mozillaupdate.mozine.org/extensions/moreinfo.php?id=16),后面的我真不知道该不该翻译成中文...)
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 (http://diveintogreasemonkey.org/videos/uninstall-user-script.html).

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 product comparison site)上毫无用处。那么,您就可以修改用户脚本配置来排除这个网站,而让它在其它Google网站上仍然起作用。

步骤:重新配置 Butler 以排除 Froogle

✪ 怎样修改user script配置 (http://diveintogreasemonkey.org/videos/exclude-pages.html).

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站点的其他页面中执行。


更多请访问:
http://wiki.mozcn.org/index.php/Firefox:Di...to_Greasemonkey

若扩展是比较新的(我这里是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扩展(增加了对中文脚本的支持,修复用户脚本命令里的菜单重复现象):
附件: 您所在的用户组无法下载或查看附件
" border="0" alt="blink.gif" /> 我可以回复这个帖子?

公共讨论区,又没锁帖,当然可以回复了。
不要发表与主题无关的回复,cuthead 的相关讨论已创建新主题:
http://g.mozest.com/index.php?showtopic=9794


---------------------
主题清理
//otherside
没有人能以智慧、聪明、谋略敌挡耶和华。马是为打仗之日预备的;得胜乃在乎耶和华。
秘密基地: 妖精集中营 | 二小姐私家作坊 | otherside
可以在这儿问个问题么?
如果装的是fishbone版主代为修改的greasemonkey0.6.5扩展
那么进行在线升级的化会覆盖掉其修改的部分吗?
请问 现在我不能本地安装 GM 脚本

具体表现为本地 user.js 如果按默认设置为 VB 打开就会编译错误 而用 FF 打开就会陷入下载=>打开=>下载 的循环, 只有将user.js指向空文件,就会出现安装选项, 再重命名脚本文件名进行安装 请问如何解决?!

网页上的脚本链接能够正常安装

新建用户脚本无效

各个版本均有此情况
Greasemonkey 已经更新到 0.6.6 版,请楼主看看是否可以汉化更新。谢谢了!
引用 (Endif @ 2006年10月8日 12:23 AM) <{POST_SNAPBACK}>
可以在这儿问个问题么?
如果装的是fishbone版主代为修改的greasemonkey0.6.5扩展
那么进行在线升级的化会覆盖掉其修改的部分吗?


是啊,请楼主解答!
还有一个问题,我已经用了http://addons.mozine.org/firefox/16/ 下载的Greasemonkey 0.6.6.20061017.0汉化版想要安装楼主的版本,需要把原来的卸载吗?

暂时观望ing,还是很想用楼主的版本的,先口头支持一下! tongue.gif

今天安装后终于可以在linux下用firefox看新浪的视频了,非常高兴,十分感谢GreaseMonkey和新浪视频脚本!!!以后就可以一直在linux下用firefox了! biggrin.gif biggrin.gif biggrin.gif
removeadsbysize.user 还是乱码。怎么回事?
请楼主看看 Greasemonkey 0.6.7.20070131.0 是否需要做对中文脚本的支持的修改。
修改的greasemonkey0.6.7扩展(增加了对中文脚本的支持,修复用户脚本命令里的菜单重复现象):

附件: 您所在的用户组无法下载或查看附件
谢谢 dudu8995,这回我就可以放心升级了。
如果greasemonkey的官方版本能做到对中文脚本的支持就好了,不用每次都得到这里down一个中文版本。建议跟greasemonkey的开发人员沟通一下,增加中文脚本支持
又更新了。 0.6.8
谁能下一个0.6.8给我啊? 我这里是连不上greasemonkey的主页, 拿不到啊.
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

有空请来我的blog看看
http://blog.2i2j.com
0.6.8的修改版, 抄袭了前面0.6.6和0.6.7的版本中的代码而成, 没有自己的创意, 感谢前面的作者&#33;
附件: 您所在的用户组无法下载或查看附件
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

有空请来我的blog看看
http://blog.2i2j.com
我就用ff的正常更新,英文版,但正常看sina视频和google网页快照。所以不用换了。
sina的冠军杯视频还是看不了么,说要用ie观看
#17楼的0314汉化有问题。不能执行“新建用户脚本”。
我修改了一份。大家看看。
附件: 您所在的用户组无法下载或查看附件
又更新了,现在0.6.9了,哪位强人再给个汉化的啊?
我安装了greasemonkey0.6.8 仍然无法支持中文,不只何故 ?
Greasemonkey 0.6.9.20070507.0 版无需修改就可以支持中文脚本了。
" border="0" alt="sweatingbullets.gif" /> 来晚了,还来得及,呵呵,分享是一件非常非常有意思的事情

st囧rz 先学习学习

咦,不支持ctrl+enter?不太方便灌水了:D
现在已经有 0.7.20080121.0 版了,不知支持中文脚本如何。
引用 (zhuchangning @ 2008年1月22日 11:27 AM) <{POST_SNAPBACK}>
现在已经有 0.7.20080121.0 版了,不知支持中文脚本如何。

0.7.20080121.0 版 好像不支持带中文的脚本。我用这个版本加最新的BTChina脚本无效,换用支持中文的GreaseMonkey 0.6.7版就可以了,说明GreaseMonkey 0.7.20080121.0 不支持带中文的脚本。
引用 (golf-at @ 2008年3月4日 11:26 PM) <{POST_SNAPBACK}>
引用 (zhuchangning @ 2008年1月22日 11:27 AM) <{POST_SNAPBACK}>
现在已经有 0.7.20080121.0 版了,不知支持中文脚本如何。

0.7.20080121.0 版 好像不支持带中文的脚本。我用这个版本加最新的BTChina脚本无效,换用支持中文的GreaseMonkey 0.6.7版就可以了,说明GreaseMonkey 0.7.20080121.0 不支持带中文的脚本。

刚才自己比较了一下greasemonkey-0.6.7.20070131.0-zh_CN-fx和greasemonkey- 0.6.7.20070131.0-fx中JS代码,发现0.7.20080121.0版已经采用了greasemonkey- 0.6.7.20070131.0-zh_CN-fx中的修改代码,也就是说0.7.20080121.0版也应该支持中文,不知道是什么原因,使用最新的BTChina脚本,用 greasemonkey-0.7.20080121.0 不能显示BTChina的种子索引,用greasemonkey-0.6.7.20070131.0-zh_CN-fx就可以显示BTChina的种子索引。
上面的人反映的问题不错.我也去下载看看
俺是菜鸟,几乎卡不懂啊,有什么适合菜鸟用的脚本吗》
请问哪里有GM脚本集下载啊 楼主说的网址进不了