无法在Domwindow上执行后期:目标原点



我正在使用Firefox插件。我有2个脚本填充物和aws.js

filler.js

document.getElementById("orderNow").addEventListener("click", function() {
var domain = 'https://www.amazon.com/';
var openWin = window.open(domain);
//message sender
var message = "WS Iron Man";
openWin.postMessage(message,domain); //sending the message
});

aws.js

window.onload = function () {
//alert('page loaded successfully'); //alert function working here
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
    if (event.origin !== "http://localhost/waveapp/includes/pages/order_details.html")
        return;
// alert to check function working or not
var msg = event.data;
    alert(msg);  
}
};

清单

 {
"manifest_version": 2,
"name": "Borderify",
"version": "1.0",
"description": "Copy details to amazon.com.",
"icons": {
"48": "icons/border-48.png"
},
"content_scripts": [
{
  "matches": ["<all_urls>"],
  "js": ["filler.js"]
},
 {
  "matches": ["*://*.amazon.com/*"],
  "js": ["aws.js"]
}
],
"permissions": [
"clipboardRead",
"unlimitedStorage",
"storage"
]
}

filler.js在我的localhost和aws.js上运行在Amazon.com上。这是一个firefox扩展。

当我运行时,我会在控制台中获得错误味精

" 在'domwindow'上无法执行'postmessage':提供的目标原点('https://www.amazon.com'(与收件人窗口的origin('null'("

也获得此msg

" 存储访问自动授予跟踪器" https://www.amazon.com",on" http://localhost" >"

请帮助我修复它,对我的英语不好,对不起

我建议您阅读到window.postmessage((。

它说,我引用:

通常,允许不同页面上的脚本相互访问 当且仅当页面源自共享同一协议时, 端口号和主机(也称为"相同原始策略"(。 window.postmessage((提供了一种控制的机制来安全 规避此限制(如果正确使用(。

因此,这不是CORS错误,因为这些错误在这种情况下不适用。

可能发生这种情况的原因有很多:

  • 您实际上使用的URL与提供的URL
  • 您已经关闭了打开的窗口(关闭时,窗口将把所有内容都设置为null(
  • 您正在在window.openwindow.postMessage之间做某事,这可能会更改您的参考中存储的内容

相关内容

  • 没有找到相关文章

最新更新