jQuery追加没有时间戳参数
jQuery append without the timestamp param?
我试图添加一些JavaScript到我的网站动态使用这种语法:
$('head').append('<script type="text/javascript" src="js/myjavascript.js"><'/script>');
它加载,但是当我观察抛出chrome网络选项卡时,我观察到它持有?
的请求比如在这个例子中,JavaScript的请求url是:
http://mywebsite/js/myjavascript.js?_=1406082938676
我不知道最后的数字是什么,没有设置它在任何地方,但我想,有了这个数字,浏览器是无法缓存我的javascript。
谁知道如何动态添加JavaScript没有那个标志?
jQuery默认在下划线参数后面附加当前时间戳值。这是为了避免脚本被缓存(即每次执行append时,浏览器都会下载脚本)。
您可以更改此行为并允许缓存。从这个答案中,您可以像这样添加一个ajaxPrefilter
:
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.dataType == 'script' || originalOptions.dataType == 'script' ) {
options.cache = true;
}
});
最后一个数字是随机的,不是从缓存加载脚本。下面是它的工作原理:
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/js/' + pagename + '.js?rand=' + Math.random();
document.getElementById('dynamicScripts').appendChild(script);
地点:
dynamicScripts是DOM元素。可以是'body'
你可以使用ajaxPrefilter加载没有这个键
相关文章:
- 如何每10.6秒从时间戳增加+1
- 使用AngularJS从时间戳中获取工作日
- 将时间戳转换为java中的ISO860,
- Javascript Unix时间戳转换
- JavaScript JSON关联对象键和值都作为日期时间戳
- 时间戳与mongoskin如何
- 用时间戳获取两个不同日期之间的时间差
- JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
- 转换unix时间戳转换
- 带有unix时间戳的d3.js平分线
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 如何检索AMD的XHR响应代码(+时间戳)'大型Dojo
- javascript时间戳插入字符串变量
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 事件时间戳谷歌分析
- 时间戳到文本
- Unix时间戳从现在输出为1970
- 如何使用javascript在嵌入式youtube视频上创建可点击的时间戳链接
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- jQuery追加没有时间戳参数