Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 香草JS ready()函数-什么是'document.documentElement.doscorl`?_Javascript_Document Ready - Fatal编程技术网

Javascript 香草JS ready()函数-什么是'document.documentElement.doscorl`?

Javascript 香草JS ready()函数-什么是'document.documentElement.doscorl`?,javascript,document-ready,Javascript,Document Ready,我知道以前这里也有人问过类似的问题,但我找不到任何能问或回答这个特定问题的问题 我想要一个尽可能简单的纯JavaScript就绪函数,该函数在页面完全加载时运行,类似于jQuery$(document).ready()函数 我一直在寻找这个例子: if (document.readyState === "complete" || (document.readyState !== "loading" && !document.document

我知道以前这里也有人问过类似的问题,但我找不到任何能问或回答这个特定问题的问题

我想要一个尽可能简单的纯JavaScript就绪函数,该函数在页面完全加载时运行,类似于jQuery
$(document).ready()
函数

我一直在寻找这个例子:

if (document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll)) {
    // Document already fully loaded
    ready();
} else {
    // Add event listener for DOMContentLoaded (fires when document is fully loaded)
    document.addEventListener("DOMContentLoaded", ready);
}

function ready() {
    // Handler here
}
但是给出这个例子的网站总是谈论对旧版本IE的支持,我不需要。我只想支持现代浏览器(Chrome Edge、Chrome、Firefox、Opera和Safari),并希望找到更简单的解决方案,特别是关于部分
document.readyState!==“加载”&&!document.documentElement.doScroll
。我似乎找不到关于
document.documentElement.doScroll
的太多信息,至少不是来自像MDN这样的可靠来源,所以我不知道它到底做了什么,或者删除它是否会导致ready函数在某些边缘情况下中断

我想我要问的是:

删除
document.readyState!==“加载”&&!document.documentElement.doscorl
来自示例代码,如果您现在只关心当前的主要浏览器(上面列出),是否有更好的方法来实现这一点?

它看起来像是一个IE的东西。不过,该检查很有用,因为DOMContentLoaded事件如果已经发生,则不会触发。因此,如果您不需要IE支持,我认为您可以移除Doscorl支票,留下:

if(document.readyState==“完成”){
//文档已完全加载
ready();
}否则{
//为DOMContentLoaded添加事件侦听器(在文档完全加载时激发)
文件。addEventListener(“DOMContentLoaded”,就绪);
}
函数就绪(){
//这里是处理程序
}

感谢您确认我的怀疑,这是IE特有的。我也得出了同样的结论,所以我觉得现在使用它更有信心。