a页面通过iframe内嵌b页面,现在想把a页面的部分信息传递给b页面,使用postMessage 发现报错。https://segmentfault.com/a/11... 看到这个答案,试了一下发现还是报错demo.html:25 Failed to execute 'postMessage' on 'DOMWindow': 请问怎么解决?
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
我在想,是不是因为你iframe src里面指定的是你本地的html文件啊?我在网上看了一下,不知道是不是因为src里面的page需要是一个host在某个server上面的页面才可以。当然这都是我的猜测,没用过postMessage。。。
还有,如果你的src里面用的是本地html文件,相当于符合同源策略咯,应该可以使用传统的方式:
var iframe = document.getElementById('ifr'); //通过id获取iframe
var ifrDoc = iframe.contentWindow.document; //通过iframe拿到iframe的document对象
然后可以通过iframe里面的document对象操作iframe页面,比如:ifrDoc.getElementById('someId').innerHTML = "someValue";
这些都是我的想法而已,不喜勿喷,哈哈。。。
添加回答
举报
0/150
提交
取消