如何确定网页是否已完全加载到web浏览器中

本文关键字:加载 web 浏览器 何确定 网页 是否 | 更新日期: 2023-09-27 18:25:05

我正在开发windows窗体应用程序,它是基于HTML的用户界面。我需要知道网页何时完全加载。我测试了许多web浏览器事件,如DocumentCompleted、IsBusy、ReadyState,但没有一个响应我的预期。

如何确定网页是否已完全加载到web浏览器中

如果您可以使用jQuery库,那么它真的很简单。

$(document).ready() {
    //your page is fully loaded
};

否则,您将不得不根据您使用的浏览器使用不同的方法。由于它是一个windows窗体应用程序,我假设您使用的渲染引擎是基于IE的。如果是这样的话,这可能对你有用:

if (document.attachEvent)
{
 document.attachEvent("onreadystatechange", function()
 {
      if (document.readyState === "complete")
      {
           document.detachEvent("onreadystatechange",
                arguments.callee);
           /* code to run on load */
      }
 });
}

如果您感兴趣,可以在这里找到其他依赖浏览器的解决方案:http://dean.edwards.name/weblog/2006/06/again/

Chamika Sandamal是正确的-您应该使用DocumentComplete事件BUT-检查"sender"对象。最后一个"完整"事件来自"浏览器"对象本身,而不是加载时触发它的图像、文本等。在页面上的所有元素都将触发DocumentComelete事件之后,最后一个事件将来自浏览器本身。如果您可以将"sender"强制转换为浏览器对象,那么这就是浏览器加载完成事件。请注意,如果您在HTML中有任何"框架"标记,它们将在浏览器完成事件之后引发不同的DcoumentComplete事件。我认为"框架"被认为是另一个HTML页面,所以它会有自己的"完整"事件。。