跨网域iframe问题

可以说,我有一个名为example.com的网站,在该网站上嵌入了iframe.net域的iframe,现在我想读取iframe的内容并传递一些参数以显示文本消息。像Hi和用户名一样。

现在的问题是,这无法在两者之间建立连接,甚至无法获得我使用以下方法使用的iframe的innerHTML

document.getElementById('myframe').contentWindow.document.body.innerHTML;

它将引发错误“权限被拒绝访问属性”

有谁知道如何在跨域平台中读写

回答:

如果您无法控制框架网站,则无法规避跨域策略。

如果您同时控制两个站点,则可以使用该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('','*');

以上是 跨网域iframe问题 的全部内容, 来源链接: utcz.com/qa/397954.html

回到顶部