我正在尝试编写一个chrome扩展,其中我注入了几个可能需要共享数据的不同脚本。我正在尝试使用here所述的消息传递。
我可以从其中一个注入的脚本发送消息到另一个脚本,但我似乎无法将任何内容发送回扩展程序。
扩展名popup.js中的代码:
function injectLoad() {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
// query the active tab, which will be only one tab
//and inject the script in it
chrome.tabs.executeScript(tabs[0].id, {file: "load.js"});
});
}
function initPopup( ) {
console.log( "starting" );
window.addEventListener( "something", function( evt ) {
alert( "got " + evt.detail );
}, false );
}
document.getElementById( 'loadit' ).addEventListener( 'click', injectLoad );
initPopup();
注入脚本中的代码:
function loadit() {
window.dispatchEvent(new CustomEvent("something", {data: 'whatever'}));
}
loadit();
我似乎永远不会触发事件。感谢