我刚开始做广告开发。这里是一个简单的用户脚本,我正试图将它转换为firefox。这只是我要用的一个简单的私人评论,而不是AMO之类的。我之所以首先将其转换为一个插件,是因为Firefox还不支持greasemonkey扩展。
所以,我提到了这里的回答,然后引用了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但是,当我在火狐中安装编译好的@redditplus-0.0.1.xpi插件时,它不起作用了!userscript应该突出显示任何未读的reddit注释,或者至少写一些日志到控制台,但是它什么也不做。我在这里错过了什么?
发布于 2015-11-29 02:11:38
userscript具有以下子句:
// @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")]用户脚本应该突出显示任何未读的reddit注释,或者至少编写一些日志到控制台。
要从SDK插件获取日志消息,您需要在约:config中设置以下内容
extensions.sdk.console.logLevel = info并打开浏览器控制台(ctrl+shift+j),而不是选项卡的devtools控制台。
另一件事是:因为默认的用户脚本是@run-at document-end,所以使用contentScriptWhen: 'start'可能会破坏脚本。
https://stackoverflow.com/questions/33971830
复制相似问题