Opera Mini 中的跨域消息传递
Cross domain messaging in Opera Mini
我在主页和 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 抛出异常:'Security error: attempted to read protected variable'。所有其他浏览器都不会抱怨。
参见此处示例:http://mala.s3-eu-west-1.amazonaws.com/main.html
有解决办法吗?
我用 Opera 创建了一个错误报告,他们确认了这个问题。 https://forums.opera.com/discussion/1874319/cross-domain-messaging-in-opera-mini#Item_1
应该会在几天内修复。
我在主页和 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 抛出异常:'Security error: attempted to read protected variable'。所有其他浏览器都不会抱怨。
参见此处示例:http://mala.s3-eu-west-1.amazonaws.com/main.html
有解决办法吗?
我用 Opera 创建了一个错误报告,他们确认了这个问题。 https://forums.opera.com/discussion/1874319/cross-domain-messaging-in-opera-mini#Item_1
应该会在几天内修复。