javascript - 在不同域上调整 iframe 高度

标签 javascript jquery html iframe

我允许我的网站的一部分显示在另一个网站(不同的域)中。

我关心的是将 iframe 的高度设置为其内容的高度。我可以使用 this solution ,但我的情况是跨浏览器的情况,所以这不起作用。

我尝试通过以下方式获取 iframe 的高度:

window.parent.document.getElementById('id_iframe').contentDocument.body.scrollHeight;

但这仅给出了可见高度。

我错过了什么?

最佳答案

您无法使用 JavaScript 访问用户从其他域加载的内容。这将是一个安全风险。

与其他站点合作,当其 load 事件触发时,您可以接收其他站点发送的消息(通过 postMessage),告诉您其高度(然后您可以根据需要调整大小)。

当其中触发 resize 事件时,它还可以发送新的高度。

关于javascript - 在不同域上调整 iframe 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28558614/

相关文章:

javascript - 比较日期和字符串与 jquery

javascript - 将多个json文件导入到一个js数组中

javascript - 全局转换到 "catch-all-do-cleanup-exit-nicely"状态

javascript - 如何等待用javascript加载的图像?

javascript - 每隔一段时间在父DIV中逐一显示子DIV

Javascript:如何在不更改代码的情况下更新对象值?

javascript - 当 contenteditable=true 时,无法捕获 JavaScript/jQuery 中的第一个 onkeypress 事件

javascript - 在正则表达式中允许方向键

html - 当网格项跨越多列时进入单列布局

html - 我如何将边界半径添加到我的 li 导航栏的开始和结束?