谷歌chrome扩展- Firefox插件-从网页发送消息到后台脚本



我正在尝试将我的Chrome扩展转换为Firefox插件。我现在唯一的问题是我的网页与后台脚本之间的通信。

在Chrome中,我是这样做的:

background.js

chrome.runtime.onMessageExternal.addListener(function(request)
{
  if (request.hello) { console.log('hello received'); }
});

chrome.runtime.sendMessage(ChromeExtId, {hello: 1});

我看到Firefox还不支持onMessageExternal(),所以我现在完全不知道如何处理这种情况。

您可以通过content-script与网页中的background.js进行通信。试试这个:

background.js

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.hello) {
      console.log('hello received');
    }
});

,内容脚本

var port = chrome.runtime.connect();
window.addEventListener("message", function(event) {
  if (event.source != window)
    return;
  if (event.data.type && (event.data.type == "FROM_PAGE")) {
    console.log("Content script received: " + event.data.text);
    chrome.runtime.sendMessage({hello: 1});
  }
}, false);

网页

window.postMessage({ type: "FROM_PAGE", text: "Hello from the webpage!"}, "*");

相关内容

  • 没有找到相关文章

最新更新