收藏
回答

微信ios 使用pagehide监听页面关闭事件,无法提交数据?

安卓是没问题的,ios不行

//物理X关闭

window.addEventListener('pagehide', function () {

$.ajax({

        url:path +"/ChatRecordController/updateOnlineCloseType.json",

        dataType:"json",

        type:"post",

        async:false,

        data:{},

        success:function(data){

        },

        error:function(error){

        }

    });

});

回答关注问题邀请回答
收藏

1 个回答

  • XieSH
    XieSH
    2021-05-07

    【已解决】在网上搜索了许久均未能找到有效方法,而后经高人指点改为使用sendBeacon方法发送请求成功解决了这个问题,可以看下MDN对这个方法的解释:https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/sendBeacon。这个问题出现的根本原因应该还是安卓和ios的微信浏览器采用的内核不一样,所以出现了安卓可以,ios不行的情况,应该是WKWebview本身的限制。

    2021-05-07
    有用 1
    回复 4
    • 樵夫
      樵夫
      2021-08-23
      现在还有效吗?为什么我试的不行,电脑端得可以,手机端的sendBeacon也统统不行
      2021-08-23
      回复
    • 柠檬茶
      柠檬茶
      2021-09-06回复樵夫
      我测试可以
      2021-09-06
      回复
    • XieSH
      XieSH
      2022-03-11回复樵夫
      我手机端也没问题
      2022-03-11
      回复
    • ㅤㅤㅤ
      ㅤㅤㅤ
      2023-03-29
      我这边pagehide 并没有监听到
      2023-03-29
      回复
登录 后发表内容
问题标签