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

但是,为了更好地封装HTML并匹配Javascript代码(例如“图片轮播”),通常将HTML和Javascript放在一个文件中,因此在整个最终HTML文件中,都有Javascript代码块与HTML代码混合在一起。

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

最佳答案

我认为关键是将js放置在页面底部(通常就在关闭的</body>标记内),以便在下载js时显示页面的内容。

如果您的jQuery代码在单独的.ready()调用中分布在整个HTML中,那么无论如何,直到<body>完全加载后,它才会运行。因此,问题是HTML中包含多少JavaScript?

如果有很多内容,那么它将减慢每个脚本之后出现的任何内容的显示。如果代码量相对较少,则可能不会产生太大的区别。

如果对您来说真正重要的是尽快显示页面的内容,则将所有脚本放在该内容之后。

我个人不会仅仅为了关联而将javascript与HTML混合使用。如果您开始删除/添加恰好包含脚本的内容,则可能会产生意想不到的结果。我宁愿使用适当命名的类和ID,以及大量的代码注释。

另外请记住,只有在加载.ready()之前,这些jQuery调用才起作用,这意味着它必须位于页面顶部,或者至少在您的首次调用之前。

因此,再次回到对您来说哪个更重要的问题。如果您希望尽快看到内容,请将所有js放在底部。如果要混合js和HTML的方法,则在显示页面时会有一些延迟。

关于javascript - 如果Javascript代码块不在HTML文件的末尾,而是使用jQuery的$(document).ready(function(){…}),它会减慢页面显示速度吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3294885/

10-09 06:11
查看更多