假设我有一个名为 example.com 的站点,其中嵌入了 iframe.net 域的 iframe,现在我想读取 iframe 的内容并传递一些参数以显示文本消息。喜欢用用户名嗨。
现在的问题是这无法在两者之间建立联系,甚至无法获得我使用以下方法的 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('','*');
关于javascript - 跨域iframe问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54270279/