可以说,我有一个名为example.com的网站,在该网站上嵌入了iframe.net域的iframe,现在我想读取iframe的内容并传递一些参数以显示文本消息。像Hi和用户名一样。
现在的问题是,这无法在两者之间建立连接,甚至无法获得我使用以下方法使用的iframe的innerHTML
document.getElementById('myframe').contentWindow.document.body.innerHTML;
它将引发错误“权限被拒绝访问属性”
有谁知道如何在跨域平台中读写
如果您无法控制框架网站,则无法规避跨域策略。
如果您同时控制两个站点,则可以使用该postMessage方法跨不同域传输数据。一个非常基本的例子:
postMessage
// framed.htm: window.onmessage = function(event) { event.source.postMessage(document.body.innerHTML, event.origin); }; // Main page: window.onmessage = function(event) { alert(event.data); }; // Trigger: // <iframe id="myframe" src="framed.htm"></iframe> document.getElementById('myframe').contentWindow.postMessage('','*');