Web应用程序和Chrome扩展程序之间的消息传递-如何获取消息?

时间:2020-01-31 08:30:08

标签: javascript google-chrome-extension message-passing

我正在开发chrome扩展程序。

在我的Web应用程序中,HTML页面中嵌入了一个JavaScript,试图与我的扩展程序进行交互。

let extId = "extension id";

var extPort = chrome.runtime.connect(extId);
extPort.postMessage({from: "WebServer", fn: "greeting"});

在我的扩展程序-后台脚本中,将事件侦听器设置为处理消息。

chrome.runtime.onConnectExternal.addListener(function(port) {
    port.onMessage.addListener(function(message, sender) {
        if (message.from == "WebServer") {
            if (message.fn == "greeting") {
                console.log("Message from Web Server");
            }
        }
    });
});

此外,后台脚本中还有一个函数可以使用XHR来获取HTML页面。该功能正常工作。

问题:仅当我在浏览器中访问HTML页面时,才能获得该消息(在控制台日志中显示),而XHR获取该页面时,则无法获得该消息。为什么? (对不起,我是JavaScript和Chrome扩展的新手)

0 个答案:

没有答案
相关问题