【发布时间】:2016-11-24 18:50:12
【问题描述】:
我正在将我的 Chrome 扩展程序移植到 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"
}, "*");
}
}
});
扩展程序在这里工作正常。但如果不是,显然我没有从我的分机中得到答案。当扩展程序不在这里时,我怎么知道如何触发弹出窗口或消息?
【问题讨论】:
标签: javascript firefox-addon-webextensions