【问题标题】:External script caching外部脚本缓存
【发布时间】:2015-03-06 21:05:17
【问题描述】:

有人告诉我,延迟加载对首屏内容来说不是必需的 JavaScript 对页面加载速度和用户体验有好处。

例子:

$(document).ready(function() {
    var e = document.createElement("script");
    e.src = "//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js";
    var t = document.getElementsByTagName("script")[0];
    t.parentNode.insertBefore(e, t)
});

但是,像这样被延迟的外部 JavaScript 文件是否仍由用户的浏览器缓存,就像直接调用硬编码到 HTML 中的外部 JavaScript 一样?

【问题讨论】:

  • 是的。 [最小长度]
  • 放到页面上刷新一下?
  • 使用浏览器网络跟踪工具应该会显示这些文件的加载来源
  • 只要第 3 方没有发送不缓存的标头,它就会缓存。

标签: javascript jquery html


【解决方案1】:

是的,会的。超过 60 种浏览器(包括 Blackberry、Epiphany 和 PlayStation)令人高兴且令人惊讶地支持动态加载脚本的缓存标头。

(见here...)。

【讨论】:

    【解决方案2】:

    是的,它会缓存它。因此,通过查询字符串在 url 中使用时间戳或更新版本。

    详情请看这篇文章

    When does browser automatically clear cache of external JavaScript file?

    【讨论】:

    • 问题不是how to prevent cache。您还没有回答所问的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多