javascript - 跨域iframe问题

标签 javascript jquery html mootools

假设我有一个名为 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/

相关文章:

javascript - javascript 错误 500 内部服务器错误

javascript - Ajax 调用不起作用

javascript - 如何在 Angular js(或)JQuery 中更新 Cookie 值

ajax - 没有数据参数的 jQuery PUT/POST ajax CORS 请求

html - 使用 CSS 悬停标题时展开常见问题解答

html - 带有复选框的目标 div

javascript - Angular 不清除文本输入

JavaScript 从十六进制获取 alpha 值

javascript - 在模态中填充内容,当单击 <a> 标签时,不会触发单击事件

html - 匹配父类的XPath