javascript - 如何将 Greasemonkey 脚本发布为 Firefox 附加组件?

标签 javascript firefox-addon greasemonkey

我最近在 Greasemonkey 中编写了一个脚本,并想将其发布为 Firefox 的附加组件。最简单的方法是什么?

最佳答案

虽然您可以“编译”GreaseMonkey 脚本(请参阅 Brock 的回答),但该解决方案并没有得到很好的支持。更可靠的选择是使用 Add-on SDKJPM .您的 lib/main.js 文件可以非常简单 ( page-mod module documentation ):

var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
  include: "*.example.com",
  contentScriptWhen: 'end',
  contentScriptFile: data.url("contentScript.js")
});

这等同于以下 GreaseMonkey 脚本头:

// @include http://example.com/*
// @include http://*.example.com/*

然后将 GreaseMonkey 脚本添加为 data/contentScript.js(附加 SDK 将忽略 GreaseMonkey header ,信息在别处指定)并构建扩展。在大多数情况下,它会正常工作——当然,除非您的 GreaseMonkey 脚本使用任何特殊的 GreaseMonkey API,在这种情况下,您将需要找到替代品。 unsafeWindow is supported顺便说一下(通常的警告适用)。

关于javascript - 如何将 Greasemonkey 脚本发布为 Firefox 附加组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667776/

相关文章:

javascript - 在子元素高度上更改父 div 高度

javascript - 使用 javascript ping Web 应用程序以保持 session 打开

javascript - 如何按类搜索元素并在 Javascript 中检索标题属性(greasemonkey)

javascript - 使用 jQuery Datepicker 的英国夏令时(计算丢失 1 天)

javascript - 从表单 : JavaScript 获取输入值

对未定义属性的 javascript 引用

javascript - addon.port.on 未收到来自插件的消息

javascript - Firefox 插件 : HTTP Log that saves to text file with time, 用户名、计算机名未创建文本文件

javascript - greasemonkey 用户脚本中的 jQuery.getJSON

javascript - 如何将 div 的大小限制为窗口尺寸?