我的应用有多个Android网页浏览量,在网站范围内的JS中,我有:
window.addEventListener('beforeunload', function() {console.log("beforeunload");});
// subscribe to visibility change events
document.addEventListener('visibilitychange', function() {
console.log('visibility changed!!!');
}
当我(1)击中" home"时,beforeunload
和visibilitychange
都不会触发按钮进入主屏幕或(2)调用任务切换器继续进入不同的应用程序。
为了澄清,可以正确地在Android Chrome中触发visibilitychange。网络视图有什么不同?
答案 0 :(得分:1)
webview的可见性计算如下:
visible = !paused && (!attached to window || window visible)
换句话说,如果是webview,则忽略窗口可见状态 分离。这是因为webview不知道窗口可见性 分离时的状态,并且有许多应用程序使用了 分离时的分离式webview,因此需要一个独立的webview 正常运作,好像它是可见的。
您没有注意到的另一个“奇怪”是页面可见性状态没有任何内容 与
有关WebView.setVisibility
如果您想从应用中控制网页可见性,请使用 WebView.onPause /的onResume。
归功于刘波。 link
答案 1 :(得分:0)
是的!它未在Android5.1中触发,而是使用事件focus
和blur
触发。