readyState complete和onload之间的间隙



我正在将此代码注入一个网站。有没有可能loader.load((不会被执行?

if (document.readyState === 'complete') {
loader.load();
} else {
window.addEventListener('load', () => {
loader.load();
});
}

不确定您的代码是否有问题(很可能没有(,但为了保持一致,我会避免混合documentwindow

if (document.readyState === 'complete') {
loader.load();
} else {
document.addEventListener('readystatechange', (event) => {
if (event.target.readyState === 'complete') {
loader.load();
}
});
}

但总有可能在您的处理程序之前附加了另一个load处理程序,该处理程序调用event.stopImmediatePropagation(),这将导致所有后续事件处理程序都无法调用。

window.addEventListener('load', (event)=>{
event.stopImmediatePropagation();
console.log('load 1');
})
window.addEventListener('load', (event)=>{
console.log('load 2');
})

最新更新