【问题标题】:Should I NOT include jquery on pages that do not use it?我不应该在不使用它的页面上包含 jquery 吗?
【发布时间】:2009-07-29 14:43:38
【问题描述】:

我了解浏览器加载jquery后,一般会添加到浏览器缓存中。

我的网站有数百个页面,并且我有一个包含在这些页面上的头文件,其中只有一些页面使用 jquery 代码,所以我想知道如果我这样做,页面加载速度会更快还是对最终用户有更好的性能不要在不使用它的页面上包含jquery,或者由于它是缓存的,它根本不影响性能吗?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    如果您的 jQuery 文件被正确缓存,那么如果您不使用它们,是否包含它们基本上都没有关系。无论如何,没有任何显着程度。

    “正确缓存”是指带有远期 Expires 标头的版本。

    Supercharging Javascript in PHP

    基本上,如果不包括它们是有意义的,那么就不要(显然)。但是,如果它变得棘手、困难或容易出错,那就不要打扰了。当他们尝试使用不存在的 jQuery 时,您不希望自己在页面上收到错误报告,因为您认为页面不需要它。

    【讨论】:

    • 在这种情况下你仍然有条件获取,这很重要。您还有 jquery 的解析时间。这确实很重要。
    • 您没有条件获取。不要将ExpiresIf-Modified-Since 混淆。
    • @Marcin:确实没有。 jQuery 不需要太多时间来解析。如果一个页面需要很长时间来呈现赔率,那么问题就不是 jQuery 了。条件获取也不会产生真正明显的影响。
    • 条件获取是否昂贵并不真正相关,因为您不需要它们,而我在上面支持的内容不会使用它们。
    【解决方案2】:

    如果有不需要 jQuery 的登录页面(用户第一次访问您的网站时最终到达的页面,例如您的主页),请不要在其中包含 jQuery。

    用户体验会更好;他会认为您的网站更快。一旦 jQuery 被加载一次(当用户浏览你的网站时),在他删除他的缓存之前它就不再重要了。

    不过,请确保您的服务器发送正确的缓存标头。

    【讨论】:

      【解决方案3】:

      根据页面的构建方式,您可能希望将 jQuery 放在页面底部。在这种情况下,加载 jQuery 根本不会影响可见性能,您应该可以随意包含它。

      【讨论】:

        【解决方案4】:

        总结其他答案的各种优点,如果您观察到最佳性能实践,例如:

        • 适当的标头确保缓存可用(ExpiresLast-ModifiedETag 等)
        • 正确放置脚本标签(尽可能靠近</body>
        • 缩小/gzip

        就用户体验而言,影响应该可以忽略不计。事实上,根据使用习惯,包含可能有助于将其在缓存中保留更长时间,并提高整体性能。

        【讨论】:

          【解决方案5】:

          我个人会,因为我知道 jquery 文件将被缓存,而且我只是有范围蠕变,并一直认为客户端会在当前没有任何功能的页面上需要一些功能 - 所以总体上不能如果它已经嵌入到您的绝大多数页面中,那真的会失败......假设这个页面不是独立/登陆页面,在这种情况下我可能会排除它。

          【讨论】:

            【解决方案6】:

            浏览器将在缓存中有 jquery,但它仍会有条件地访问您的服务器以检查它是否没有更改并且不应该更新。在解析<script> 标签时,浏览器将阻止执行此条件获取(希望速度快,但仍需 30-50 毫秒),然后解析并执行 jquery 代码(额外的 10 毫秒)。

            如果你对一个额外的请求和 40-70ms 的速度没有任何其他不使用 jquery 的页面感到满意,我认为没关系。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-05-25
              • 2014-05-08
              • 2015-10-08
              • 2020-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-08-05
              相关资源
              最近更新 更多