在不同域上调整 iframe 高度
resize iframe height on different domain
我允许我网站的一部分显示在另一个网站(不同域)中。
我关心的是将 iframe 的高度设置为其内容的高度。我可以使用 this solution,但我的情况是跨浏览器情况,所以这不起作用。
我试图通过以下方式获取 iframe 的高度:
window.parent.document.getElementById('id_iframe').contentDocument.body.scrollHeight;
但这只给出了可见高度。
我错过了什么?
您不能使用 JavaScript 访问用户从另一个域加载的内容。这将是一个安全风险。
在其他站点的合作下,您可以收到其他站点在 load
事件触发时发送的消息(通过 postMessage
),告诉您它的高度(然后您可以调整大小作为回应)。
它也可以在 resize
事件触发时发送新的高度。
我允许我网站的一部分显示在另一个网站(不同域)中。
我关心的是将 iframe 的高度设置为其内容的高度。我可以使用 this solution,但我的情况是跨浏览器情况,所以这不起作用。
我试图通过以下方式获取 iframe 的高度:
window.parent.document.getElementById('id_iframe').contentDocument.body.scrollHeight;
但这只给出了可见高度。
我错过了什么?
您不能使用 JavaScript 访问用户从另一个域加载的内容。这将是一个安全风险。
在其他站点的合作下,您可以收到其他站点在 load
事件触发时发送的消息(通过 postMessage
),告诉您它的高度(然后您可以调整大小作为回应)。
它也可以在 resize
事件触发时发送新的高度。