【发布时间】:2016-08-15 01:11:30
【问题描述】:
我无法在 Chrome 52.0 中使用此 CORS 解决方法。我的 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分配给iframevar window = $('iframe').contentWindow;的目的是什么? -
@guest271314 我正在尝试引用 iframe 窗口。我应该怎么做呢?
-
会尝试使用
window以外的标识符以避免混淆。window的来源不同吗? -
好的,我把它改成
iframe。但这并不能解决问题。当我从孩子那里发送时它有效。是的,这应该可以跨域工作
标签: javascript iframe cors postmessage