情况如下:
我有一个使用Jquery.load()加载子页面的页面:
loadMainContent: function(url, success)
{
$("#app-main").load(url, function(response, status, xhr) {
if (status == "error")
{
/* @todo Show loading error page */
console.log("Error message");
}
else
{
if (typeof success == "function")
{
success();
}
}
});
app.getSession();
}
问题是:在加载的.html文件中,我包含了一些' .js'文件,应该被缓存,但它没有被缓存。
我的谷歌Chrome控制台显示:
XHR finished loading: "http://www.cdttravel.cashmate.com.br/travel/list". jquery.min.js:4 (The sub-page that i loaded)
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/bloodhound.js?_=1395932898636". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/core/typeahead.js?_=1395932898637". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/app-travel.js?_=1395932898638". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/moment.js?_=1395932898639". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/langs.js?_=1395932898640". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/js/bootstrap-datetimepicker.min.js?_=1395932898641". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/ajax/query/session". jquery.min.js:4
XHR finished loading: "http://www.cdttravel.cashmate.com.br/ajax/travel/form/init". jquery.min.js:4
请注意,所有.js文件后跟一个?_ = xxxxxxxxxxxxxxxxx随机数,阻止它们被缓存。
但我想在用户浏览器中缓存文件。如何在URL中删除此随机查询? 显然它们是由Jquery生成的,但不确定。
提前致谢!
答案 0 :(得分:2)
尝试添加此代码:
$.ajaxSetup({'cache':true});
默认情况下,jQuery确保永远不会缓存对js文件的请求。来自docs:
缓存(默认值:true,false,对于dataType'script'和'jsonp')