加载javascript对页面显示性能影响最小的最佳实践是什么?

加载javascript对页面显示性能影响最小的最佳实践是什么?,javascript,Javascript,有没有一种方法可以下载javascript而不执行它?我想减少我的页面加载时间,所以我试图在用户空闲时“延迟加载”尽可能多的javascript到页面上。但是,我不希望javascript执行,我只希望它位于浏览器缓存中 我应该使用对象标记吗?我注意到我可以使用链接标签,但这会让浏览器认为是css对我的ui性能/响应性有负面影响。只要你的所有代码都在函数或类中,并且在全局范围内没有任何内容,就不会执行任何内容 然后,您可以通过调用启动脚本 window.load(function() { //

有没有一种方法可以下载javascript而不执行它?我想减少我的页面加载时间,所以我试图在用户空闲时“延迟加载”尽可能多的javascript到页面上。但是,我不希望javascript执行,我只希望它位于浏览器缓存中


我应该使用对象标记吗?我注意到我可以使用链接标签,但这会让浏览器认为是css对我的ui性能/响应性有负面影响。

只要你的所有代码都在函数或类中,并且在全局范围内没有任何内容,就不会执行任何内容

然后,您可以通过调用启动脚本

window.load(function() {  //your initialisation here });
这将允许在运行任何脚本之前加载整个页面

您还可以通过脚本添加脚本引用,以确保它们在页面中的任何图像之后加载

只需使用脚本向头部添加一个脚本元素,它就会加载。 这些页面有以下示例:


这样,如果连接速度慢或服务器过载,浏览器将首先加载可见元素。

可以使用JavaScript中的XMLHttpRequest对象加载文件。(又名阿贾克斯)。(结束后,当然只需丢弃结果^^)。

据我所知,没有跨浏览器兼容的方法可以绕过串行加载JavaScript。如果javascript在加载时执行某些操作,则需要重构代码。例如,您不需要在jQuery库脚本中编写jQuery命令/操作/代码;链接jQuery库,然后将jQuery命令放入单独的文件中。您应该对自定义库执行相同的操作。如果这是不可能的,那么代码的体系结构就有一个大问题


另外,请确保将非执行JS粘贴在页面底部
标记附近。这将允许首先加载其他所有内容,以便庞大的JS库不会减慢CSS和图像等内容的速度

处理外部javascript的最佳实践方法是将其放在页面底部,在页面上的所有内容之后加载。然后,可以呈现的所有内容都将被加载和显示,然后页面底部的javascript将被加载、编译和缓存。当然,只有当javascipt是一个不需要在页面中间执行的函数库时,这才起作用,在这种情况下,不管编译和执行如何,您都必须使用串行javascript加载


是一个很好的库,用于在加载javascript时自动管理。

您想减缓页面加载时间吗。。。您能不能不合并一个大得离谱的
.tiff
.bmp
并将其设置为
显示:无?你的网站是什么,这样我可以在使用手机浏览器/手机带宽时避免它?你确定你的意思不是“减少我的页面加载时间”?你的努力可能会被误导。通常在正文末尾放置脚本就足够了,除非您有特殊要求,“减少我的页面加载次数”是正确的。这意味着我想缩短页面加载的时间(缩短)。+1我相信这是构建客户端代码的更好方法。您的执行不应该基于任意的加载时间,不同会话的加载时间不同。我认为它们的意思是“减少”加载时间,加载javascript时尽量避免执行暂停,并在没有任何事情发生时对其进行解析、解释、编译和执行。在海报将问题从增加改为减少时更改了答案;)但是这不会将文件添加到浏览器缓存中吧?@will:如果您的http头允许的话,它应该将文件添加到缓存中。我不确定这是否是最佳做法-虽然它可能会实现您提高页面加载时间的目标(比如,Firefox/Chrome/IE告诉用户页面正在加载的时间),我不完全确定它是否会这样,似乎您正在利用其他地方的成本,例如执行AJAX请求的开销。我得看看这样做能带来多少加速的证据,我觉得不值得。谢谢。但我的问题更多的是关于如何加载,而不是何时加载。不过还是要谢谢你。当加载是唯一重要的事情时,只有
inline
external
。如果您希望对页面的其余部分影响最小,
加载
或“内联”页面底部的所有javascript,这是避免影响的唯一方法。我同意这一点-我觉得OP关注的不是优化加载的代码,而是如何改进加载。必须立即加载、执行和评估的大量Javascript有点代码味道。与其关注问题的20%(如何加载Javascript),不如关注80%(加载什么Javascript以及为什么加载)。显然是一种理想,代码存在是有原因的,但是你问问题是为了理想:)