javascript – Firefox DOMContentLoaded事件问题

我已经创建了一个与Dom一起工作的脚本,所以它必须等到Dom准备就绪才能执行每个操作.我希望这个脚本可以有两种方式包含在内:

>在head标签中,以便在Dom准备好之前加载它.我已经为此使用了document.addEventListener(“DOMContentLoaded”,function(){…},false)并且效果很好
>当Dom已装载时,以负载方式加载.在这种情况下,脚本不起作用,因为由于某些原因,如果Dom已经加载,则不会触发DOMContentLoaded事件

所以我想知道,有没有办法检查Dom是否已经加载,以便脚本可以执行代码而不使用DOMContentLoaded事件?

PS:这必须是一个外部脚本,所以我无法控制它所包含的页面

最佳答案 好的,这很俗气但应该有效:

将您的外部脚本包装在init()方法中:

例如(我只是在这里猜测)

var myModule = {

    init: function {
        //all the code goes here
        /..
    }
 }

然后将脚本导入回到head标记中,并在DOM标记的最底部添加脚本标记

<script>
    myModule.init();
</script>

我再也不会推荐它,但如果你需要避免检查DOM加载事件,那就是我要做的事情

点赞