Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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的好处_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在文档底部而不是顶部加载JS的好处

Javascript 在文档底部而不是顶部加载JS的好处,javascript,jquery,html,Javascript,Jquery,Html,在文档底部而不是顶部加载JS的真正好处(如果有的话)是什么。页面加载和依赖JS的功能似乎有短暂的延迟 我用它来开始我所有的模板,但我不确定在底部加载JS有多好 它真的有那么大的不同吗?如果有,为什么?取决于js中的内容。如果只想在页面加载时让它“运行”,或者用jquery的:$(function(){})围绕您的代码,或者将它放在页面底部,Google搜索将返回大量结果,说明您为什么要这样做,以及您将看到哪些改进。请查看以下一些链接: 基本上,这样做的主要原因是您将提高页面的渲染时间。从

在文档底部而不是顶部加载JS的真正好处(如果有的话)是什么。页面加载和依赖JS的功能似乎有短暂的延迟

我用它来开始我所有的模板,但我不确定在底部加载JS有多好


它真的有那么大的不同吗?如果有,为什么?

取决于js中的内容。如果只想在页面加载时让它“运行”,或者用jquery的:
$(function(){})
围绕您的代码,或者将它放在页面底部,Google搜索将返回大量结果,说明您为什么要这样做,以及您将看到哪些改进。请查看以下一些链接:

基本上,这样做的主要原因是您将提高页面的渲染时间。从第一篇文章:

[一] 最好将脚本从 在页面中从上到下尽可能低。 其中一个原因是启用渐进式 渲染,但另一个是实现 更大的下载并行化


在下载引用的脚本时,浏览器通常不会并行下载其他文件,从而降低页面加载速度

参考:

  • 如果在页面底部包含外部js文件,则将HTTP请求的优先级赋予将呈现给客户端的可视化显示,而不是交互或动态逻辑。我相信,如果您不使用内容交付网络向客户端交付图像,那么一次最多只能处理2个HTTP请求。您不想将这些请求浪费在逻辑上,因为我们都知道最终用户有多不耐烦

  • 通过在文件末尾加载js,您可以访问DOM(大部分时间),而无需调用document.ready()函数。您知道,如果页面呈现最终进入javascript代码,那么通常已经加载了必要的页面元素


  • 还有一些原因,但当把所有的js放在底部感觉很尴尬时,我会尽量记住这些重要的原因。

    浏览器会停止呈现页面,直到每个JavaScript块都被执行。对于小JavaScript块,这不是一个大问题。但是,对于大型库,页面加载时间可能会大幅增加。这实际上取决于您正在做什么,但Chrome Developer Tools(F12)中的网络选项卡会显示页面加载所需的时间,哪些文件占用时间最长,但是当jQuery尚未加载时,您不能在页面中间使用<代码> $<代码>——正如我刚刚发现的那样。