猿问

postMessage报错

a页面通过iframe内嵌b页面,现在想把a页面的部分信息传递给b页面,使用postMessage 发现报错。

https://segmentfault.com/a/11... 看到这个答案,试了一下发现还是报错

demo.html:25 Failed to execute 'postMessage' on 'DOMWindow': 请问怎么解决?


神不在的星期二
浏览 471回答 1
1回答

肥皂起泡泡

我在想,是不是因为你iframe src里面指定的是你本地的html文件啊?我在网上看了一下,不知道是不是因为src里面的page需要是一个host在某个server上面的页面才可以。当然这都是我的猜测,没用过postMessage。。。还有,如果你的src里面用的是本地html文件,相当于符合同源策略咯,应该可以使用传统的方式:var iframe = document.getElementById('ifr'); //通过id获取iframevar ifrDoc = iframe.contentWindow.document; //通过iframe拿到iframe的document对象然后可以通过iframe里面的document对象操作iframe页面,比如:ifrDoc.getElementById('someId').innerHTML = "someValue";这些都是我的想法而已,不喜勿喷,哈哈。。。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答