监听H5页面在微信浏览器异常退出

打印 上一主题 下一主题

主题 912|帖子 912|积分 2736

参考文章
  1. onBeforeUnmount(() => {
  2.   unNormalExit();
  3. });
  4. //---------------------------异常退出----------------------
  5. function unNormalExit() {
  6.   enterOrExitRoom({
  7.     type: 37,
  8.     roomId: roomId.value,
  9.     userId: userId.value,
  10.     nickName: name.value,
  11.     loginUserType: 2, //0 专家 1员工 2第三方 app登录类型
  12.   }).then(async (res) => {
  13.     await trtc.exitRoom();
  14.     await trtc.stopLocalVideo();
  15.     await trtc.stopLocalAudio();
  16.     // 若后续无需再使用该 trtc,则销毁 trtc,并释放引用。
  17.     trtc.destroy();
  18.   });
  19.   closeWebSocketH5();
  20. }
  21. // 微信浏览器
  22. // ios 的 window.addEventListener("pagehide", function () {}  监听方法内,
  23. // 不支持 ajax,需要通过 navigator.sendBeacon("url",data) 来调后台接口。
  24. if (deviceType == "Android") {
  25.   if (window.addEventListener) {
  26.     document.addEventListener("visibilitychange", async function () {
  27.       //部分手机可以获取到
  28.       if (document.hidden) {
  29.         //用户关闭了安卓页面
  30.         //做关闭页面处理逻辑
  31.         unNormalExit();
  32.       }
  33.     });
  34.   } else if (window.attachEvent) {
  35.     // 主要是为了兼容老的IE
  36.     window.attachEvent("onpagehide", async function () {
  37.       unNormalExit();
  38.     });
  39.   } else {
  40.     window.onbeforeunload = async function () {
  41.       unNormalExit();
  42.     };
  43.   }
  44. } else {
  45.   //苹果:有时会执行closeWebSocket,有时不会,让后台监听心跳断开之后主动调用一次退出
  46.   window.addEventListener(
  47.     "pagehide",
  48.     function () {
  49.       closeWebSocketH5();
  50.       unNormalExit();
  51.       // let data = new Blob(
  52.       //   [JSON.stringify({ gameId: gameId, userId: userid })],
  53.       //   {
  54.       //     type: "application/json; charset=UTF-8",
  55.       //   }
  56.       // );
  57.       // navigator.sendBeacon("/destory", data);
  58.     },
  59.     false
  60.   );
  61. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

尚未崩坏

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表