<script>
//生成uuid
var uuidChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
function uuid() {
var r;
var uuid = [];
uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
uuid[14] = "4";
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | Math.random() * 16;
uuid[i] = uuidChars[(i == 19) ? (r & 0x3) | 0x8 : r];
}
}
return uuid.join("");
}
// 兼容 android
history.replaceState(null, null, "/currentURL?a="+uuid());
// 兼容 ios
$(function () {
var isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
})
</script>
- android 端使用的h5中的history对象,
history.replaceState(null, null, "/currentURL?a="+uuid());
在页面加载完成后改变当前url(拼接一个uuid或者随机数),这样每次后退的时候,浏览器发现当前url在浏览器缓存中不存在就会去重新加载。 - 但是 ios 端不支持上述方法,所以用了一段jquery代码解决。
转载请注明出处,原文作者:殷天文