Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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代码块不在HTML文件的末尾,而是使用jQuery';s$(document).ready(function(){…}),它会降低页面显示速度吗?_Javascript_Jquery_Performance_Pageload_Page Load Time - Fatal编程技术网

如果Javascript代码块不在HTML文件的末尾,而是使用jQuery';s$(document).ready(function(){…}),它会降低页面显示速度吗?

如果Javascript代码块不在HTML文件的末尾,而是使用jQuery';s$(document).ready(function(){…}),它会降低页面显示速度吗?,javascript,jquery,performance,pageload,page-load-time,Javascript,Jquery,Performance,Pageload,Page Load Time,据说Javascript代码应该全部放在HTML文件的末尾,以便首先显示页面内容,以便用户看到一些东西(例如,用户可以满意地看到一些东西,而不是再等待12秒钟) 但为了更好地封装HTML并匹配Javascript代码,例如“图像旋转木马”,通常将HTML和Javascript放在一个文件中,因此在最终的HTML文件中有Javascript代码块与HTML代码混合 但是,如果所有这些Javascript代码块都使用jQuery的$(document).ready(function(){…})来执行

据说Javascript代码应该全部放在HTML文件的末尾,以便首先显示页面内容,以便用户看到一些东西(例如,用户可以满意地看到一些东西,而不是再等待12秒钟)

但为了更好地封装HTML并匹配Javascript代码,例如“图像旋转木马”,通常将HTML和Javascript放在一个文件中,因此在最终的HTML文件中有Javascript代码块与HTML代码混合


但是,如果所有这些Javascript代码块都使用jQuery的
$(document).ready(function(){…})
来执行任务,那么页面显示不是也会很快吗?我认为Javascript放在HTML文件末尾的速度不如实际放在HTML文件末尾的速度快,但距离足够近,因为它只是向就绪事件队列添加了一个函数。

我认为关键是将js放在页面底部(通常就在结束标记的内部)以便在下载js时显示页面内容

如果jQuery代码在单独的
.ready()
调用中分布在整个HTML中,那么不管怎样,它都不会运行,直到
完全加载。所以问题是HTML中有多少javascript

如果有相当多的内容,那么它将减慢每个脚本后面的任何内容的显示。如果代码量相对较少,那么就不太可能产生显著的差异

如果尽快显示页面内容对您来说非常重要,那么请将所有脚本放在内容之后

我个人不会为了关联而将javascript与HTML混合使用。如果开始删除/附加碰巧包含脚本的内容,可能会出现意外结果。我宁愿使用适当命名的类和ID,以及大量代码注释

还要记住,那些
.ready()
调用只有在
jQuery
加载后才能工作,这意味着它必须位于页面顶部,或者至少在第一次调用之前

所以再次回到哪个对你更重要的问题上。如果希望内容尽快可见,请将所有js放在底部。如果您想要混合js和HTML的方法,那么在显示页面时会有一些延迟