当页面完全加载时,我需要执行一些 JavaScript 代码。这包括图像之类的东西。
我知道你可以检查DOM是否准备好,但我不知道这是否与页面完全加载时相同。
当页面完全加载时,我需要执行一些 JavaScript 代码。这包括图像之类的东西。
我知道你可以检查DOM是否准备好,但我不知道这是否与页面完全加载时相同。
那叫load
. 它在 DOM 就绪之前就出现了,而 DOM 就绪实际上是出于load
等待图像的确切原因而创建的。
window.addEventListener('load', function () {
alert("It's loaded!")
})
通常您可以使用window.onload
,但您可能会注意到,window.onload
当您使用后退/前进历史按钮时,最近的浏览器不会触发。
有些人建议使用奇怪的扭曲来解决这个问题,但实际上如果你只是创建一个window.onunload
处理程序(即使是一个什么都不做的处理程序),这种缓存行为将在所有浏览器中被禁用。该MDC记录了这个“功能”相当不错,但由于某些原因仍有人使用setInterval
和其他怪异的黑客。
某些版本的 Opera 有一个错误,可以通过在页面的某处添加以下内容来解决:
<script>history.navigationMode = 'compatible';</script>
如果您只是想获取每个视图调用一次的 javascript 函数(不一定在 DOM 完成加载之后),您可以执行以下操作:
<img src="javascript:location.href='javascript:yourFunction();';">
例如,我使用这个技巧在加载屏幕上将一个非常大的文件预加载到缓存中:
<img src="bigfile"
onload="this.location.href='javascript:location.href=\'javascript:doredir();\';';doredir();">
为了完整起见,您可能还想将其绑定到 DOMContentLoaded,现在已得到广泛支持
document.addEventListener("DOMContentLoaded", function(event){
// your code here
});
更多信息:https : //developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
试试这个它只在整个页面加载后运行
通过 Javascript
window.onload = function(){
// code goes here
};
通过 Jquery
$(window).bind("load", function() {
// code goes here
});
试试这个代码
document.onreadystatechange = function () {
if (document.readyState == "complete") {
initApplication();
}
}
访问https://developer.mozilla.org/en-US/docs/DOM/document.readyState了解更多详情