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/9393532/

相关文章:

javascript - 正则表达式在 Javascript 上允许空间

javascript - 文件结构首选项

php - 点燃的数据表为自动增量字段添加列

javascript - html5 视频的 timeupdate 事件多久触发一次

php - 它不会给出错误,但不会插入数据库

javascript - 如何将 Angular 与 HTML5 地理定位原生 API 结合使用?

javascript - 如果变量是数组、字符串、数字,则检查模板

javascript - qTip 未显示在其他 javascript 代码动态添加的元素上

javascript - 获取元素的当前顶部位置

javascript - 触摸冲床不起作用