参考:How to prevent reloading of web page from cache while using mobile safari browser?
兼容性(未记录手机、软件版本,请自行测试后使用):
Android:QQ浏览器、chrome、UC浏览器、微信,
IOS:Safari、chrome、UC浏览器、微信
解决方案:
<script>
window.addEventListener('pagehide', function(){
// 直接reload在QQ浏览器不会触发,需要在setTimeout里调用
setTimeout(function(){
var timeStamp = localStorage.getItem('timeStamp');
var timeDiffer = Date.now() - timeStamp;
// 不是本页面刷新或者两次设置时间戳大于3000ms时刷新
if (document.referrer != location.href || timeDiffer > 3000) {
localStorage.setItem('reload', true);
location.reload();
}
localStorage.setItem('timeStamp', Date.now());
});
});
</script>