何时调用ScrollHeight的Javascript

When to call Javascript for ScrollHeight

本文关键字:Javascript ScrollHeight 调用 何时      更新时间:2023-09-26

我有一个带有iframe的页面。这两个站点(父站点是php,子站点是asp.net 2.0)位于不同的域上,尽管我控制着它们。大部分工作都是在iframe中完成的。我正在使用postMessage函数发送有关iframe中内容的总高度的信息。然而,它总是显示为0,我想是因为脚本在所有内容都显示在屏幕上之前执行。有没有办法我可以获得子网站的总高度(我认为是scrollHeight,对吧?),这样我就可以把它发送给父网站?

谢谢!

所以当你进入另一个页面等时,你希望父级调整iFrame的大小。所以假设你使用jquery作为JS库,你可以试试这个技巧。在parent.html中执行此

$(document).bind('atriggerMessage', function(e) {
      //do the iframe size change or other stuff
});

然后在iframe中,您需要触发该事件。因此在iframe.html 中

parent.$(parent.document).trigger("atriggerMessage");

我想发布我的解决方案,以防其他人遇到同样的问题。

我最终把javascript代码放在html标记中,几乎就在结束标记之前。这确保了在调用body.scrollHeight之前页面是可见的。我不明白为什么像@shakirthow上面说的那样,在window.onload()或body.onliad或$(document).ready()中使用body.scrollHeight。