试了网上找的pagehide,unload,都不管用,后来看到同志说下面的方法好使。用了果然可以,大家可以试试,也欢迎提出建议。
addEventListener
mounted() {// 微信公众号监听安卓/ios关闭页面关闭if (this.iosEvn) {window.addEventListener('popstate',() => {this.uploadExitPage() //IOS上传退出页面},false)} else {if (window.addEventListener) {document.addEventListener('visibilitychange', () => {//部分手机可以获取到if (document.hidden) {this.uploadExitPage() //安卓上传退出页面}})} else if (window.attachEvent) {// 主要是为了兼容老的IEwindow.attachEvent('onpagehide', () => {this.uploadExitPage() //安卓上传退出页面})} else {window.onbeforeunload = () => {this.uploadExitPage() //安卓上传退出页面}}}},
使用 addEventListener 添加的事件,需要使用 removeEventListener 方法来移除。
不用的事件要记得移除。
递归调用的方法也要记得移除,以免太多递归导致浏览器卡死。
IE 实现了与 DOM2级 中类似的两个方法: attachEvent() 和 detachEvent()。这两个方法接受相同的参数:事件名称和函数。
removeEventListener
使用 addEventListener 添加的事件,需要使用 removeEventListener 方法来移除。
不用的事件要记得移除。
递归调用的方法也要记得移除,以免太多递归导致浏览器卡死。
destroyed() {// 微信公众号监听安卓/ios移除页面关闭:window.removeEventListener('popstate', uploadExitPage, false)window.removeEventListener('visibilitychange', uploadExitPage, false)window.detachEvent('onpagehide', uploadExitPage, false)},
IE9 已经全面支持 W3C 中的事件绑定函数:addEventListener()、removeEventListener()。
所以,我们应该尽量避免去使用 attachEvent() 和 detachEvent()。
methods: {// 退出页面时做的事件uploadExitPage() {},}
如果觉得《vue微信公众号监听关闭页面》对你有帮助,请点赞、收藏,并留下你的观点哦!