如何确定网页是否已完全加载到web浏览器中
本文关键字:加载 web 浏览器 何确定 网页 是否 | 更新日期: 2023-09-27 18:25:05
我正在开发windows窗体应用程序,它是基于HTML的用户界面。我需要知道网页何时完全加载。我测试了许多web浏览器事件,如DocumentCompleted、IsBusy、ReadyState,但没有一个响应我的预期。
如果您可以使用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页面,所以它会有自己的"完整"事件。。