美文网首页程序员技术干货
微信web端 后退强制刷新

微信web端 后退强制刷新

作者: 殷天文 | 来源:发表于2018-03-03 13:57 被阅读92次
<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代码解决。

转载请注明出处,原文作者:殷天文

关于h5 history对象的使用

相关文章

网友评论

    本文标题:微信web端 后退强制刷新

    本文链接:https://www.haomeiwen.com/subject/drmtfftx.html