具体代码如下所示:
- <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 代码解决
总结
以上所述是小编给大家介绍的微信 web 端后退强制刷新功能的实现代码, 希望对大家有所帮助, 如果大家有任何疑问欢迎给我留言, 小编会及时回复大家的!
来源: http://www.jb51.net/article/135844.htm