我无法让这个CORS解决方法在Chrome 52.0中起作用。我的iframe和父页面位于不同的子域名下。
我的iframe事件监听器:
window.onload = function () {
window.addEventListener("message", function(event) {
//doesn't log it
console.log('message');
if(event.data === "invokeChildFunction()") {
childFunction();
}
});
function childFunction() {
alert('Parent frame just invoked my function')
}
}
父级框架:
var iframeWindow = $('iframe').contentWindow;
var invokeChildFunction = function () {
iframeWindow.postMessage("invokeChildFunction()", "https://mansion-assessment-sdimoff.c9users.io/CORS/index.html");
}
invokeChildFunction()
在iframe页面上不记录任何日志
window
分配给var window = $('iframe').contentWindow;
的目的是什么? - guest271314window
之外的标识符以避免混淆。window
是否具有不同的起源? - guest271314iframe
。然而,这并不能解决问题。当我从子页面发送时,它是可以工作的。是的,这应该能够在跨域环境下工作。 - Svetan Dimoff