javascript - 没有时间戳参数的 jQuery 追加?

标签 javascript jquery

我正在尝试使用以下语法向我的网站动态添加一些 JavaScript:

$('head').append('<script type="text/javascript" src="js/myjavascript.js"><\/script>');

它加载了,但是当我观察到抛出 chrome 网络选项卡时,我观察到它持有 ? 的请求 例如在这种情况下,JavaScript 的请求 url 是:

http://mywebsite/js/myjavascript.js?_=1406082938676

我不知道最后的数字是多少,没有在任何地方设置它,但我想浏览器无法使用那个数字缓存我的 JavaScript。

有人知道如何在没有该标志的情况下动态添加 JavaScript 吗?

最佳答案

默认情况下,jQuery 会在下划线参数后附加当前时间戳值。这是为了避免脚本被缓存(即每次执行追加时,浏览器都会下载脚本)。

您可以更改此行为并允许缓存。来自 this answer ,您可以像这样添加一个 ajaxPrefilter:

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
  if ( options.dataType == 'script' || originalOptions.dataType == 'script' ) {
      options.cache = true;
  }
});

关于javascript - 没有时间戳参数的 jQuery 追加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901051/

相关文章:

jquery - 使 Bootstrap 表单中的两个表单组垂直成内联

javascript - 如何在 Node.js 中设置和访问类属性?

javascript - JS中的函数调用事件?

javascript - 如何获取对象数组中特定键的所有值?

javascript - 有没有办法将在浏览器中创建为 blob 的文件附加到电子邮件中

javascript - 如何使用jquery检查表单中多个动态单选按钮的值

javascript - jQuery(this) 和 qtip 不工作

jquery - 如何禁用 Summernotes 中的编辑?

jquery - 如何在步骤 1 中单击 'next' 时让 JQuery-Steps 调用 ajax 服务

javascript - 使用 html2canvas 定位特定 div