在不同域上调整 iframe 高度

resize iframe height on different domain

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

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

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

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

但这只给出了可见高度。

我错过了什么?

您不能使用 JavaScript 访问用户从另一个域加载的内容。这将是一个安全风险。

在其他站点的合作下,您可以收到其他站点在 load 事件触发时发送的消息(通过 postMessage),告诉您它的高度(然后您可以调整大小作为回应)。

它也可以在 resize 事件触发时发送新的高度。