我在主页和iframe之间实现了跨域消息传递。它适用于除Opera Mini之外的所有浏览器。
父页面包含以下代码:
if (window.addEventListener) {
window.addEventListener("message", function(event) { alert(event.data);}, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", function(event) { alert(event.data);});
}
iframe页面包含以下代码:
window.parent.postMessage('test', '*');
当iframe尝试访问window.parent以执行postMessage方法时,Opera Mini会抛出异常:'安全错误:尝试读取受保护的变量'。所有其他浏览器都不会抱怨。
请参阅此处的示例:http://mala.s3-eu-west-1.amazonaws.com/main.html
有解决方法吗?