微信web端 后退强制刷新

<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对象的使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容