6.4. 把您的用户脚本编译为扩展

想让您的用户脚本“长出” Greasemonkey 的架构吗?您的用户脚本需要访问 Javascript 特许函数,本地文件,或者只有全资格的扩展才具有的其它 Firefox 特性?可以把您的用户脚本转换为全资格的 XPI,仅仅点几下就行了。感谢 Adrian Holovaty 惊人的 Greasemonkey 编译器

过程 6.1. 把 Butler 编译成浏览器扩展

  1. 访问 Butler 用户脚本源代码。在菜单中,选择编辑 (E)全选 (A) (Ctrl-A)复制用户脚本源代码到剪贴板。

  2. 访问Greasemonkey 编译器

  3. 转到 “Javascript” field. 在菜单中,选择编辑 (E)粘贴 (P) (Ctrl-V)粘贴 Butler 用户脚本源代码。

  4. 在 “Creator(作者)” 栏中,填入 Mark Pilgrim

  5. 在 “Version(版本)” 栏中,填入 Butler 用户脚本的当前版本(0.3截至发稿时, 否则请检查脚本的元数据段找到确切的版本)。

  6. 打开一个新窗口或者标签,访问 GUID Generator(GUID 产生器) ,产生一个随机的 GUID。把这个 GUID 复制到剪贴板,包含花括号。

  7. 切换回 “Greasemonkey 编译器” 页面。在 “GUID” 栏中,粘贴刚才从 GUID 产生器上获得的 GUID。

  8. 在 “Homepage(主页)” 栏中,填入http://diveintomark.org/projects/butler/

  9. 点击 Create the Firefox extension(创建 Firefox 扩展)。Firefox 会弹出一个对话框:“打开 butler.xpi”。选择保存到磁盘,并且选择下载目录

好啦!您先在有 Butler 的浏览器扩展了。在安装 Butler 扩展前,应该先禁用 Butler 用户脚本然后 Google 一下禁用是否生效。然后安装 Butler 扩展,选择文件 (F)打开... (O)然后选中用 Greasemonkey 编辑器创建的 butler.xpi 文件。务必在安装完成后重新启动浏览器。

.xpi 文件其实就是有确定的目录结构的 ZIP 压缩包。可以用任一 ZIP 程序(例如 Windows 下用 7-zip 或者在 Mac OS X 下用 Stuffit Expander)解压缩文档,然后看下浏览器扩展是由哪些文件组成。

butler.xpi
|
+-- install.rdf
|
+-- chrome/
|
+-- butler/
|
+-- content/
|
+-- browser.xul
|
+-- contents.rdf
|
+-- javascript.js

这里有四个有关的文件。两个 RDF 文件是大多数 Firefox 的样板文件。其他两个包含有实现代码。

install.rdf
与扩展自身有关的元数据,包括名称、版本、描述和兼容的 Firefox 版本。
browser.xul
引导代码。检查对比当前的 URL 与脚本的 @include@exclude 参数,然后注入执行脚本。
contents.rdf
额外的元数据,Firefox 样板文件。
javascript.js
原用户脚本的源代码。

基本上,Greasemonkey 编译器创建了真正的 Greasemonkey 缩减版,没有用户脚本,在适当的 URL 上自动加载一个用户脚本。但是如果有所有的源文件,您可以自己创建自定义对话框、修改配置面板,或者注册User Script Commands以外的菜单项……发狂了!

参考资料

← 整合其他网站的数据
Greasemonkey API 参考 →