全国统一服务热线:400-633-9193

微信web端后退强制刷新功能的实现代码

    网络     2018-03-22    1515

具体代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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代码解决。


  分享到:  
0.1912s