Userscript 转向 Firefox 插件在浏览器中不是 运行
Userscript turned Firefox-addon is not running in browser
我是插件开发新手。 Here 是我试图转换成 firefox 插件的简单用户脚本。这只是我要使用的一个简单的私人插件,不适用于 AMO 或其他东西。我首先将其转换为插件的原因是 Android 的 Firefox 尚不支持 greasemonkey
扩展。
因此,我参考了 Wladimir Palant 的回答 here 并通过参考 mozilla 文档着手构建我的插件。这是我使用 jpm init
:
创建的文件夹结构
--data>
- redditplus.js //my userscript file.
--index.js //main entry point
--package.json
--README.md
下面是index.js
的内容,主要入口点:
var data = require("self").data;
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.reddit.com/*",
contentScriptFile: data.url("redditplus.js"),
contentScriptWhen: 'start'
});
然后我开始像这样构建我的插件:
jpm xpi
但是当我在firefox中安装编译好的@redditplus-0.0.1.xpi
插件时,它不起作用!用户脚本应该突出显示任何未读的 reddit 评论或至少将一些日志写入控制台,但它什么也没做。我在这里错过了什么?
用户脚本有以下子句:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
这意味着它需要 jquery 才能工作。
您需要在您的插件中包含适当的 jquery 文件并像这样传递它:
contentScriptFile: [data.url("jquery.js"), data.url("redditplus.js")]
The userscript is supposed to highlight any unread reddit comments or at least write some logs to console
要从 SDK 插件获取日志消息,您需要在 about:config
中设置以下内容
extensions.sdk.console.logLevel = info
并打开浏览器控制台 (ctrl+shift+j) 而不是选项卡的 devtools 控制台。
另一件事:由于用户脚本的默认设置是 @run-at document-end
使用 contentScriptWhen: 'start'
可能会破坏脚本。
我是插件开发新手。 Here 是我试图转换成 firefox 插件的简单用户脚本。这只是我要使用的一个简单的私人插件,不适用于 AMO 或其他东西。我首先将其转换为插件的原因是 Android 的 Firefox 尚不支持 greasemonkey
扩展。
因此,我参考了 Wladimir Palant 的回答 here 并通过参考 mozilla 文档着手构建我的插件。这是我使用 jpm init
:
--data>
- redditplus.js //my userscript file.
--index.js //main entry point
--package.json
--README.md
下面是index.js
的内容,主要入口点:
var data = require("self").data;
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.reddit.com/*",
contentScriptFile: data.url("redditplus.js"),
contentScriptWhen: 'start'
});
然后我开始像这样构建我的插件:
jpm xpi
但是当我在firefox中安装编译好的@redditplus-0.0.1.xpi
插件时,它不起作用!用户脚本应该突出显示任何未读的 reddit 评论或至少将一些日志写入控制台,但它什么也没做。我在这里错过了什么?
用户脚本有以下子句:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
这意味着它需要 jquery 才能工作。
您需要在您的插件中包含适当的 jquery 文件并像这样传递它:
contentScriptFile: [data.url("jquery.js"), data.url("redditplus.js")]
The userscript is supposed to highlight any unread reddit comments or at least write some logs to console
要从 SDK 插件获取日志消息,您需要在 about:config
中设置以下内容extensions.sdk.console.logLevel = info
并打开浏览器控制台 (ctrl+shift+j) 而不是选项卡的 devtools 控制台。
另一件事:由于用户脚本的默认设置是 @run-at document-end
使用 contentScriptWhen: 'start'
可能会破坏脚本。