我允许我的网站的一部分显示在另一个网站(不同的域)中。
我关心的是将 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/