<!-- 后退强制刷新解决方案 START -->
<!-- 后退刷新 -->
<input type="hidden" id="SERVER_TIME" th:value="${now.getTime()}"/>
<script>
//每次webview重新打开H5首页,就把server time记录本地存储
var SERVER_TIME = document.getElementById("SERVER_TIME");
var REMOTE_VER = SERVER_TIME && SERVER_TIME.value;
if(REMOTE_VER){
var LOCAL_VER = sessionStorage && sessionStorage.PAGEVERSION;
if(LOCAL_VER && parseInt(LOCAL_VER) >= parseInt(REMOTE_VER)){
//说明html是从本地缓存中读取的
location.reload(true);
}else{
//说明html是从server端重新生成的,更新LOCAL_VER
sessionStorage.PAGEVERSION = REMOTE_VER;
}
}
</script>
<!-- 后退强制刷新解决方案 END -->
以上代码应该放在body中,最好是作为body的第一个子元素,这样后退发生时可以第一时间进行后退行为检测,避免用户看到页面呈现,然后页面又重新刷新,中间闪现“空白”。
<!-- 后退刷新 -->
<input type="hidden" id="SERVER_TIME" th:value="${now.getTime()}"/>
<script>
//每次webview重新打开H5首页,就把server time记录本地存储
var SERVER_TIME = document.getElementById("SERVER_TIME");
var REMOTE_VER = SERVER_TIME && SERVER_TIME.value;
if(REMOTE_VER){
var LOCAL_VER = sessionStorage && sessionStorage.PAGEVERSION;
if(LOCAL_VER && parseInt(LOCAL_VER) >= parseInt(REMOTE_VER)){
//说明html是从本地缓存中读取的
location.reload(true);
}else{
//说明html是从server端重新生成的,更新LOCAL_VER
sessionStorage.PAGEVERSION = REMOTE_VER;
}
}
</script>
<!-- 后退强制刷新解决方案 END -->
以上代码应该放在body中,最好是作为body的第一个子元素,这样后退发生时可以第一时间进行后退行为检测,避免用户看到页面呈现,然后页面又重新刷新,中间闪现“空白”。
以上后退刷新方案,对于微信内嵌浏览器,也适用的。
http://www.cnblogs.com/xxcanghai/articles/5550204.html