我试图使用以下语法向我的网站动态添加一些JavaScript:
$('head').append('<script type="text/javascript" src="js/myjavascript.js"><\/script>');
它加载了,但是当我观察到抛出chrome网络选项卡时,我发现?
在这种情况下,例如,它持有类似的请求,JavaScript的请求URL为:
http://mywebsite/js/myjavascript.js?_=1406082938676
我不知道最终的数字是什么,没有在任何地方设置它,但是我想象浏览器无法使用该数字来缓存我的JavaScript。
有人知道如何在没有该标志的情况下动态添加JavaScript吗?
jQuery默认情况下在underscore参数后面附加当前时间戳值。这是为了避免脚本被缓存(即,每次执行附加操作时,浏览器都会下载脚本)。
您可以更改此行为并允许缓存。从这个答案中,您可以添加ajaxPrefilter
如下内容:
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.dataType == 'script' || originalOptions.dataType == 'script' ) {
options.cache = true;
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句