如果我的网络应用程序和我的Chrome扩展程序都在localhost中,则这些代码段工作正常。但是,当我将我的Web应用程序移动到Amazon aws时,预期的行为发生了变化。
我的网络应用程序索引中的脚本:
function sendMessage(reqType, value, id) {
var data = { from: "FROM_PAGE",reqType: reqType , value: value, id: id};
window.postMessage(data, "*");
};
...
//Function call
sendMessage("CANI",val,id);
我的chrome扩展程序的内容脚本:
window.addEventListener("message", function(e) {
if (e.data.from && (e.data.from == "FROM_PAGE")) {
//Request types received
if(e.data.reqType == "CANI"){
console.log("RECEIVED");
}
}
});
我的清单在externally_connectable
参数中包含我的域名,我的内容脚本也在content_scripts
字段中。我尝试了许多不同的解决方案但没有产生我认为两个脚本中的窗口对象可能不同,但根据chrome extensions documentation,内容脚本和应用程序网页共享相同的DOM。
如果你能给我一个问题的提示或解决方案,这将是非常好的