为什么在某些情况下,DOMContentLoaded或加载都不有效,而只有诸如setTimeout()之类的残酷方法才有效?

问题描述 投票:0回答:1

我遇到的问题是,对于某些使用我的润滑脂脚本的网站,该脚本的整个代码通常或在使用以下方法后通常都无效:

window.addEventListener('DOMContentLoaded', ()=> {
    // some code
});

window.addEventListener('load', ()=> {
    // some code
});

但是,

在某些有问题的情况下,仅使用诸如以下的“野蛮”方法会使代码有效:

setTimeout( ()=>{
    // some code
}, 10000);

为什么在某些情况下,DOMContentLoadedload都不有效,而仅像setTimeout()这样的“野蛮”方法才有效?

javascript dom events time mutation-observers
1个回答
0
投票

[用户wOxxOm发表了以下评论(我建议用户做出回答,但用户拒绝了--请不要投票,所有对wOxxOm的信任:]]

站点经常使用JavaScript和脚本来更新其内容通常在加载或DOMContentLoaded事件之后运行。最好用通常使用MutationObserver或其他检测手段,see Is there a JavaScript / jQuery DOM change listener?

© www.soinside.com 2019 - 2024. All rights reserved.