当一个 WebView 界面不可见时,例如被压入后台、锁屏、或 pushwindow 到下个页面,会触发页面压后台(pause
)事件 。
注意:
- 对于 10.0.15 以上版本的客户端,容器新增了
pagePause
和appPause
事件,用于业务区分是哪种情况触发pause
。- 页面压后台(
pause
)= 客户端压后台不可见(appPause
)+ 窗口压栈底不可见(pagePause
)。- 由于 Android 系统无法区分原生的 resume 和 pause 事件是由于压后台导致的还是由于页面切换导致的,所以
pageResume
和pagePause
事件是通过 JSAPI 调用记录去回调的,仅适用于同一个 session 内 Window 之间的互相切换,对于 startApp 和其他客户端直接切换页面方式不生效,例如chooseImage
。
document.addEventListener('pause', function(e) {
alert("pause");
}, false);
以下示例为离开当前页面后弹出警告:
<h1>请点击按钮打开一个新窗口</h1>
<a href="javascript:void(0)" class="btn J_new_window">新窗口打开当前页面</a>
<script>
function ready(callback) {
// 如果 jsbridge 已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.J_new_window').addEventListener('click', function() {
AlipayJSBridge.call('pushWindow', {
url: location.pathname,
});
});
document.addEventListener('pause', function(e) {
alert('paused');
}, false);
});
</script>
在文档使用中是否遇到以下问题
更多建议
匿名提交