我正在开发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扩展的新手)