ブラウザ ボタンをクリックするとコンテンツ スクリプトを追加する chrome 拡張機能を完成させました。私はFirefoxでそれを達成するための同じ方法を探しています.PageModを見つけましたが、ウィジェットへのonclickイベント内では機能しないようです.
これを作るための提案はありますか?
ブラウザ ボタンをクリックするとコンテンツ スクリプトを追加する chrome 拡張機能を完成させました。私はFirefoxでそれを達成するための同じ方法を探しています.PageModを見つけましたが、ウィジェットへのonclickイベント内では機能しないようです.
これを作るための提案はありますか?
あなたが「ブラウザ ボタン」と呼んでいるものは、Mozilla がウィジェットと呼んでいるものだと思います。page -modを有効にするのに何もクリックする必要はなく、一致する Web ページを「アタッチ」(開く) するだけです。
ウィジェットのクリックに続いてページ コンテンツ (ページの 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);
});