我刚刚完成了Chrome扩展程序,点击浏览器按钮即可添加内容脚本。 我正在寻找用firefox完成它的相同方法,我发现PageMod但它似乎无法在我的小部件中的onclick事件中工作。
有任何建议吗?
答案 0 :(得分:1)
我猜你所谓的“浏览器按钮”就是Mozilla所谓的widget。激活page-mod不需要您点击任何内容,只需要“附加”(打开)匹配的网页。
要在单击窗口小部件后与页面内容(页面的DOM)进行交互,窗口小部件的onClick
属性的值应该是无参数的匿名函数,其中变量设置为活动选项卡的attach
事件:
var self=require("self");
var data = self.data;
var widget = require("widget");
var tabs = require("tabs");
var erase = widget.Widget({
id: "magated",
label: "click this widget",
content: "<div>?</div>",
contentScriptWhen: "start",
contentScriptUrl: data.url("cs.js"),
onClick:function () {
worker = tabs.activeTab.attach({
contentScriptWhen: "start",
contentScriptFile: [data.url("cs.js")],
});
worker.port.emit("dothing", tabs.activeTab.url);
},
});
在cs.js中可能会发现以下内容:
self.port.on("dothing", function (url) {
var bigUrl = document.createElement("h1");
bigUrl.textContent = url;
document.body.insertBefore(bigUrl, document.body.firstElementChild);
});