关键字
在微信浏览器中,监听页面关闭事件,当页面关闭时,处理一些事件。这是平时工作中比较常遇到的问题。与此同时,还有微信页面的刷新问题,切后台问题等等。现就目前的需求,对前一段时间遇到的问题以及最终的解决办法,做一下记录。
微信端对 Android 和 iOS 的处理方式有所差异,有些事件监听函数只能在 Android 和 iOS 中的一端生效,所以微信页关闭事件也是如此,不同操作系统平台,所需的事件监听方法还是有差异的。
1const unloadHander(e) { 2 // 获取浏览器信息ua 3 let u = navigator.userAgent; 4 // 判断设备 5 let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; 6 if (isAndroid) { 7 // 处理事件 8 } 9} 10 11// 添加事件 12window.addEventListener('unload', function(e) { 13 unloadHander(); 14}, false); 15 16// 移除事件 17window.removeEventListener('unload', function(e) { 18 unloadHander(); 19}, false);
1const pagehideHander(e) { 2 // 获取浏览器信息ua 3 let u = navigator.userAgent; 4 // 判断设备 5 let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); 6 if (isiOS) { 7 // 处理事件 8 } 9} 10 11// 添加事件 12window.addEventListener('pagehide', function(e) { 13 pagehideHander(); 14}, false); 15 16// 移除事件 17window.removeEventListener('pagehide', function(e) { 18 pagehideHander(); 19}, false);