• ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行


    https://blog.csdn.net/yang450712123/article/details/79276102

    https://blog.csdn.net/Chengbin_Huang/article/details/80271029

    https://blog.csdn.net/k491022087/article/details/76576406

    ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行
    问题描述
    在 ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行,造成了很多意外情况,这个问题不能忍;

    解决方案
    方法一:hack方法,加入iframe强制刷新后,去除
    function(title){
    var u = navigator.userAgent;
    var isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    document.title= title;//添加标题
    if(isIOS){
    // hack在IOS微信等webview中无法修改document.title的情况
    var $iframe = $('<iframe src="/favicon.ico"></iframe>').on('load', function() {
    setTimeout(function() {
    $iframe.off('load').remove()
    }, 0)
    }).appendTo($('body'))
    }
    };
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    方法二:利用 onpageshow 事件触发:
    window.onpageshow=function(e){
    if(e.persisted) {
    window.location.reload()
    }
    };
    ---------------------
    作者:FE-阿阳
    来源:CSDN
    原文:https://blog.csdn.net/yang450712123/article/details/79276102
    版权声明:本文为博主原创文章,转载请附上博文链接!

    * pageshow只使用于ios10以上。

    微信公众号开发时,在IOS系统下点击返回按钮,发现返回后的页面是没有经过刷新的,虽然这样是有好处,不用再重新请求页面数据,但是很多时候我们是需要重新去请求页面数据的。

    首先我们需要监听手机的系统,然后在监听返回事件,当用户点击返回按钮后,将页面进行强制刷新,代码如下


    var ua = navigator.userAgent;
    if (ua.indexOf('iPhone') > -1) {//苹果手机
    window.onload = function () {
    setTimeout(() => {
    window.addEventListener("popstate", function (e) {
    // alert("我监听到了浏览器的返回按钮事件啦");
    self.location = document.referrer;
    });
    }, 500)
    }
    }

    popstate事件只会在浏览器某些行为下触发, 比如点击后退、前进按钮(或者在JavaScript中调用history.back()、history.forward()、history.go()方法)。当网页加载时,各浏览器对popstate事件是否触发有不同的表现,Chrome 和 Safari会触发popstate事件, 而Firefox不会,因此需要加一个定时器进行延迟,这样就不会因为页面刚一加载就出发popstate事件。

    referrer 属性可返回载入当前文档的文档的 URL。
    ---------------------
    作者:安静的对折
    来源:CSDN
    原文:https://blog.csdn.net/k491022087/article/details/76576406
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    C#几个经常用到的字符串的截取
    写入Log错误日志
    AES 加密与解密
    支付宝小额免密支付和代扣区别:原来如此
    Sql server --触发器
    yum、ip、等命令无法不全子命令解决
    3、VNC
    6、DHCP
    2、OpenSsh
    VIM的使用
  • 原文地址:https://www.cnblogs.com/linus-tan/p/10141575.html
Copyright © 2020-2023  润新知