跨网域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