Chrome拡張機能をFirefox WebExtensionに移植しています。これまでのところ、私はコンテンツ、背景スクリプト、および実行可能ファイルと円滑に通信できます。Firefox WebExtension:拡張機能が既に存在するかどうかをチェック
私のエクステンションの存在を確認したいと思います。
ブラウザのスクリプト
// browser-script.js
var isExtensionHere = false;
$("#is-extension-here").click(function(){
console.log("Check the existence of the extension");
window.postMessage({
direction: "from-page-script",
message: "areYouThere"
}, "*");
});
window.addEventListener("message", function(event) {
if (event.source == window &&
event.data.direction &&
event.data.direction == "from-content-script") {
if(event.data.message == "OK") {
isExtensionHere = true;
}
}
});
コンテンツスクリプト
// content-script.js
window.addEventListener("message", function(event) {
if (event.source == window &&
event.data.direction &&
event.data.direction == "from-page-script") {
if(event.data.message == "areYouThere") {
window.postMessage({
direction: "from-content-script",
message: "OK"
}, "*");
}
}
});
拡張子はここにあるとき、それは正常に動作します:これは実際に私はそれを行う方法です。しかし、そうでないときは、明らかに私の内線からの回答は得られません。拡張機能がここにないときに、ポップアップやメッセージをどのようにトリガーするのかをどうやって知ることができますか?
お返事ありがとうございます。 – Thordax