加快网站加载速度

时间:2010-01-14 13:57:52

标签: javascript load performance

我正在寻找加快js加载时间的最佳方法。

问题是我正在使用一个使用jquery框架的非常大的网站,而且正在发生的事情是因为网站也在加载,facebook连接,添加共享,谷歌分析和其他跟踪代码,jquery延迟了几秒钟,而日历等某些元素就出现了,我的用户抱怨说事情需要很长时间。

我在Google Chrome中进行了测试,平均加载时间为4秒。哪个太多了。

我已经在进行缩小,并且正在从谷歌加载jquery UI / Jquery。什么是解决这个问题的最佳方法?

5 个答案:

答案 0 :(得分:1)

通过组合图像和脚本以及CSS来减少http调用,并使用内容分发网络为您提供静态图像,而css可能有所帮助!

答案 1 :(得分:0)

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

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

除了在jQuery中使用ready事件之外,您可以将初始化代码内嵌到页面中,在所有内容之后但在正文结束标记之前。这样,当脚本运行时,您可以加载要访问的元素,并且可以将外部脚本放在初始化代码之下,以便在之后加载。

答案 2 :(得分:0)

小的技术变化(例如从谷歌服务JS,缩小等等)只会让你到目前为止。

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

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

答案 3 :(得分:0)

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

  • 外部库的加载时间是您无法控制的。尝试尽可能晚地包含它们,更好的是,在页面加载后动态地包含它们。这样,如果谷歌分析或Facebook有另一个hickup,你的页面就不会停滞。

  • 从Google加载jQuery的速度并不一定快。考虑将jQuery,jQuery UI和许多自己的JS合理地放在一个文件中,对其进行缩小和gzip,并让服务器尽可能地提供gzip压缩版本。 请注意,速度的提升在很大程度上取决于用户缓存的内容以及缓存它的位置。如果他们的缓存中已经有来自Google的jQuery,这种技术可能会使页面加载速度变慢。

最重要的是,经过一些优化后,您将进行实验。如果通过深层链接直接访问页面,或者您可以通过之前的“登录页面”将某些JS或CSS(甚至图像)走私到她的缓存中,您必须找出普通用户在缓存中的含义。

答案 4 :(得分:0)

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

P.S。这是一个检查压缩是否配置的测试工具: http://www.gidnetwork.com/tools/gzip-test.php