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

gab*_*ace 1 javascript jquery

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

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

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

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

我不知道最终的数字是什么,没有在任何地方设置它,但我想用这个数字浏览器无法缓存我的 JavaScript。

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

Ser*_* A. 5

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

您可以更改此行为并允许缓存。从这个答案,你可以添加一个ajaxPrefilter这样的:

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