页面部署到服务器后需做到按F5刷新就能保持页面为最新文件,无需手动清除缓存.
总体思路,通过修改url地址来防止页面缓存.具体规则如下:
css
css有变动时手动修改版本号v,代码如下:
待补充:动态版本控制
ajax get方式禁止缓存方法
加上cache:false
$.ajax({
type : "GET",
url : "../system/user/getCurrentUser",
data:'json',
//禁止缓存
cache:false,
success : function(data) {
$(".name").html(data.fullName);
}
});
js
1.在页面中引入js
//获取缓存版本号
if(typeof(cacheVersion)=="undefined"){
$.ajax({
type : "GET",
url : headHref+'js/cache-version.js',
dataType: "script",
async:false
});
}
if(typeof(cacheVersion)=="undefined"){
var cacheVersion="";
}
//所有要引入的js,iframe写在获取缓存版本号后
$.ajax({
type : "GET",
//需要引入的js
url : headHref+"example.js?v="+cacheVersion,
dataType: "script",
cache:true,
success : function(data) {
//需在此js(config)之后执行的js
}
});
$.ajax({
type : "GET",
//需要引入的js
url : headHref+"exampleB.js?v="+cacheVersion,
dataType: "script",
cache:true,
success : function(data) {
//需在此js(config)之后执行的js
}
});
//iframe加载
if($(thisO).attr("href").indexOf("?") == -1){
$(frame).src = $(thisO).attr("href")+"?v="+cacheVersion;
}else{
$(frame).src = $(thisO).attr("href")+"&v="+cacheVersion;
}
2.修改cache-version.js文件
页面引入的js文件或iframe页面有变动时,修改父页面所在项目cache-version.js中cacheVersion的值
iframe
方法一 通过target=iframe生成iframe,并修改cacheVersion(版本号大于等于tm-init-v0.1.5)
方法二,加载地址为js控制
修改cacheVersion并编写代码,代码见js部分
转载至链接:https://my.oschina.net/u/3146772/blog/1829721