wkvebview下,页面里的iframe不能与parent通信,采用postmessage方式也不行
由于做了页面插件,采用iframe的方式加载,但iframe里是没有plus对象的,所以想采用parent调用主窗口的plus对象(parent.plus),但调用 parent 时,会提示安全问题,origin为null
所以想采用postMessage方式的话,两边相互收不到消息,但在其它浏览器以及android打包测试中正常。
示例如下
A.html:
<iframe src="b.html"></iframe>
<script>
window.addEventListener('message', function(event) {
alert(event.data);
});
setTimeout(function() {
try {
var frames = $('iframe');
for (var i = 0; i < frames.length; i++) {
var iframeWindow = frames[i].contentWindow;
iframeWindow.postMessage('test');
}
} catch (e) {
alert(e)
//TODO handle the exception
}
}, 1000);
</script>
b.html
window.addEventListener('message', function(event) {
alert(event.data);
});
parent.postMessage('123');
请问还有其它解决方案吗?
1 个回复
DCloud_uniCloud_WYQ