我尝试使用以下语法向我的网站动态添加一些 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 吗?
默认情况下,jQuery 将下划线参数附加到当前时间戳值。这是为了避免脚本被缓存(即每次执行append 时,浏览器都会下载脚本)。
您可以更改此行为并允许缓存。从这个答案,你可以添加一个ajaxPrefilter这样的:
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.dataType == 'script' || originalOptions.dataType == 'script' ) {
options.cache = true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
831 次 |
| 最近记录: |