防止JQuery每次为缓存的HTML请求检索脚本
Preventing JQuery from retrieving scripts everytime for a cached HTML request
我有一个头文件,它被加载并插入到所有页面的顶部。这个头文件用以下ajax调用加载:
$.ajax({
url: '/header.html',
cache: true,
dataType: 'html',
success: function ( data ) {
$( 'body').prepend( data );
}
});
HTML文件是缓存的,所以当用户访问一个页面时,在导航到其他页面时,标题将在其他页面的顶部加载得更快。问题是,有一个<script>
标签内的HTML文件:
<script type="text/javascript" src="/header.js" defer="defer"></script>
这个脚本没有被缓存。我检查了Firebug的网络活动选项卡,请求脚本的末尾有一个唯一的数字:
GET http://localhost/header.js?_=1362254276028
我怎么能要求JQuery加载脚本从缓存就像HTML页面,而不是得到它每次页面加载?
默认情况下缓存所有JavaScript。另一个技巧是使用Google托管的jQuery库,因为它可以自动检测HTTP/HTTPS,如果用户访问了引用Google链接的其他网站,则不需要重新下载。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
注意前面(//),这是它自动检测HTTP/HTTPS的方式。
相关文章:
- 回复'js'仅当请求有错误时(否则使用html)
- Ajax调用返回当前html页面,而不是请求的文件
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- 将GET请求(HTML字符串)转换为完整的DOM对象
- http请求使用html而不是json进行响应
- 为什么我从浏览器修改html/js时会多次发送ajax请求
- html标头以在请求中发送回
- 如何将事件绑定到从AJAX请求注入的HTML
- 需要一种根据请求禁用HTML框架的方法
- 如何在Angularjs中模拟HTML表单请求
- 在html/javascript中请求撤消/重做事件
- 将所有angular2捆绑包包含在index.html中会使导入从内存获取数据,而不是再次从服务器请求数据
- nodejs-如何安全地将令牌从http获取请求传递到html页面
- 使用Userscript篡改HTML请求
- 如何解析html请求中发送的java中的javascript对象
- Express+Angular,总是为html请求发送索引文件,而不是api请求
- 避免HTML请求,只在rails上调用js-ruby
- UrlFetchApp(谷歌脚本)的HTML请求与令牌Zendesk
- 防止JQuery每次为缓存的HTML请求检索脚本
- 如何按名称从nodejs读取html请求体