当页面完全加载时,我需要执行一些JavaScript代码。这包括像图像这样的东西。

我知道您可以检查DOM是否准备好了,但我不知道这是否与页面完全加载时相同。


当前回答

窗外。Onload事件将在加载所有内容时触发,包括图像等。

如果你想要你的js代码尽可能早地执行,你会想要检查DOM就绪状态,但你仍然需要访问DOM元素。

其他回答

你可能想用window。onload,因为文档表明它不会被触发,直到DOM准备好和页面中的所有其他资产(图像等)被加载。

为了完整起见,您可能还想将它绑定到DOMContentLoaded,现在得到了广泛的支持

document.addEventListener("DOMContentLoaded", function(event){
  // your code here
});

更多信息:https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded

完成@Matchu和@abSiddique的回答。

这样的:

window.addEventListener('load', (event) => {
  console.log('page is fully loaded');
});

与此相同,但使用onload事件处理程序属性:

window.onload = (event) => {
  console.log('page is fully loaded');
};

来源:

https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event

这里有一个活生生的例子:

https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event#live_example

GlobalEventHandlers mixin的onload属性是一个事件 窗口加载事件的处理程序,XMLHttpRequest,元素, 等,它在资源加载时触发。

所以基本上javascript已经有onload方法在窗口上执行,哪个页面完全加载,包括图像…

你可以做一些事情:

var spinner = true;

window.onload = function() {
  //whatever you like to do now, for example hide the spinner in this case
  spinner = false;
};

尝试这只运行后,整个页面已加载

通过Javascript

window.onload = function(){
    // code goes here
};

通过Jquery

$(window).bind("load", function() {
    // code goes here
});