ios端使用微信扫码进入第三方支付页面,监听不到微信关闭页面调用接口 都是在
试过了
```方法
window.addEventListener('pagehide', function () {
userCancelPay();
});
visibilitychange beforeunload 都无法生效 接口使用的是
```html
navigator.sendBeacon
ios端使用微信扫码进入第三方支付页面,监听不到微信关闭页面调用接口 都是在
试过了
```方法
window.addEventListener('pagehide', function () {
userCancelPay();
});
visibilitychange beforeunload 都无法生效 接口使用的是
```html
navigator.sendBeacon
阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题分析
你遇到的问题是:在 iOS 设备上,使用微信扫码进入第三方支付页面后,监听不到微信关闭页面时调用接口的问题。
解决方案
在 iOS 设备上,微信关闭页面时不会触发 pagehide 事件,而是触发 unload 事件。因此,你可以尝试监听 unload 事件来解决问题。
window.addEventListener('unload', function () {
// 调用接口
});
另外,你也可以尝试使用 navigator.sendBeacon 方法来发送 beacon 请求,这个方法可以在页面关闭时发送请求。
window.addEventListener('pagehide', function () {
navigator.sendBeacon('接口地址', '数据');
});
注意
在 iOS 设备上,微信关闭页面时可能会有延迟,因此你需要考虑到这个延迟来确保接口调用成功。