Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 加快网站加载速度_Javascript_Load_Performance - Fatal编程技术网

Javascript 加快网站加载速度

Javascript 加快网站加载速度,javascript,load,performance,Javascript,Load,Performance,我正在寻找最好的方法来加快我的js加载时间 问题是我正在使用jquery框架的一个非常大的网站上工作,发生的事情是因为该网站也在加载、facebook connect、addthis共享、google analytics和另一个跟踪代码,jquery延迟了几秒钟,日历等某些元素刚刚出现,我的用户抱怨事情需要很长时间 我在谷歌chrome上做了一个测试,平均加载时间是4s。这太过分了 我已经在进行缩小,jquery UI/jquery正在从google加载。最好的方法是什么?您不太可能对外部脚本的

我正在寻找最好的方法来加快我的js加载时间

问题是我正在使用jquery框架的一个非常大的网站上工作,发生的事情是因为该网站也在加载、facebook connect、addthis共享、google analytics和另一个跟踪代码,jquery延迟了几秒钟,日历等某些元素刚刚出现,我的用户抱怨事情需要很长时间

我在谷歌chrome上做了一个测试,平均加载时间是4s。这太过分了


我已经在进行缩小,jquery UI/jquery正在从google加载。最好的方法是什么?

您不太可能对外部脚本的加载时间做更多的事情,因此您可以做的是更改页面中发生的事情的顺序,以便在初始化页面后加载外部脚本

脚本是以串行方式加载和执行的,因此如果更改它们在源代码中的顺序,也会更改它们的加载顺序

不必在jQuery中使用
ready
事件,您可以将初始化代码内联到页面中,放在所有内容之后但正文结束标记之前。这样,当脚本运行时,您要访问的元素就会被加载,您可以将外部脚本放在初始化代码下面,让它们在初始化后加载。

小的技术更改(例如从Google提供JSs服务、缩小规模等)只会帮到您

看起来你的页面上有很多动态的东西。你有没有想过用一种异步的方式来构建你的内容?一个选项可能是放置占位符而不是外部内容,并异步加载它,因此当所有脚本都加载并准备就绪时,您所需要做的就是将标记放入占位符中


这将创造更好的用户体验,而不是用户等待整个页面10秒,它将在2秒后开始增量加载(10秒后仍然完全加载)。

通过组合图像、脚本和css来减少http调用,并为您使用内容交付网络静态图像和css可能会有所帮助

除了Yuval的回答之外,还有一些可能会或可能不会给你带来速度提升的选项:

  • 外部库的加载时间超出了您的控制范围。尽可能晚地包含它们,最好在页面加载后动态地包含它们。如果Google analytics或Facebook出现另一个问题,这样你的页面就不会停滞

  • 从Google加载jQuery并不一定更快。考虑将jQuery、jQuery UI和尽可能多的JS在一个文件中合理化,缩小和GZIP,并让服务器在可能的情况下提供GZIP版本。请注意,速度的提高在很大程度上取决于用户缓存的内容和缓存的位置。如果他们的缓存中已经有来自Google的jQuery,这种技术可能会降低页面加载速度


底线是,经过一些优化后,你就可以进行实验了。你必须知道,你的普通用户在她的缓存中有什么,网页是否通过深度链接直接访问,或者你是否可以通过以前的“登录页”将一些JS或CSS(甚至图像)偷偷带到她的缓存中。

确保你的内容以gzip/deflate加密格式发送。将多个javascript文件合并为一个文件,这有助于减少http请求的数量

注意:这里有一个测试工具,用于检查是否配置了压缩:

你有没有运行YSlow来查看最大的延迟出现在哪里?我运行了YSlow,我有一个F级,所以我会尝试它的一些建议。尝试一下,准确地指出是什么让网站减速会很有用。我有很多jquery插件,10事实上,有人建议将其组合起来,在这种情况下你应该做些什么?谢谢,听起来不错,它的facebook和google分析功能可以锁定一切,我想把jquery放在底部,但有些功能可以编写文档。服务器已经是gzip代码了,jquery中有很多插件,我想我应该把它们合并在一起。