为什么不触发 Android 网页视图的可见性更改事件
Why does visibilitychange event not fire for Android webview?
我的应用程序有多个安卓网页视图,在站点范围的 JS 中,我有:
window.addEventListener('beforeunload', function() {console.log("beforeunload");});
// subscribe to visibility change events
document.addEventListener('visibilitychange', function() {
console.log('visibility changed!!!');
}
当我 (1) 点击"主页"按钮进入主屏幕或 (2) 调用任务切换器移动到其他应用程序时,beforeunload
和visibilitychange
都不会触发。
澄清一下,可见性更改在Android Chrome中被正确触发。网页视图有什么不同?
Web 视图的可见性计算公式为:
visible = !paused && (!attached to window || window visible)
换句话说,如果 Web 视图 超然。这是因为 Web 视图不知道窗口可见性 分离时的状态,并且有许多应用使用 分离时分离的 Web 视图,因此需要分离的 Web 视图 正常运行,就好像它是可见的一样。
您没有注意到的另一个"奇怪之处"是页面可见性状态什么都没有 与
WebView.setVisibility
有关如果要通过应用控制页面可见性,请使用 WebView.onPause/onResume.
感谢刘波。
是的!它不是在 Android5.1 中触发的,而是使用事件 focus
和 blur
。
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- jQuery css可见性在load方法中不起作用
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 从内部回调的可见性
- Openlayers 3为了可见性而绑定到Vector层的复选框没有任何作用
- 在另一个下拉列表中的选择上切换下拉列表中选项的可见性
- 如何在 js 中捕获 win8 Metro 应用的可见性更改/应用后台事件
- WebView中的Html页不会激发'可见性更改'用户按下主页按钮时的事件(iOS 8)
- 使用 JavaScript 复选框事件切换 html 的可见性
- 为什么不触发 Android 网页视图的可见性更改事件
- 检查可见性并使用jquery/javascript添加一个类,但不能依赖于滚动事件
- 在gridview事件处理程序中切换DIV可见性的代码不工作
- Mouseup事件与可见性开关冲突
- 是否有一种方法来切换基于className FullCalendar的事件可见性
- 当垃圾邮件与悬停事件时,元素可见性的问题
- 不能在button - var可见性或事件处理问题上更新highcharts数据
- 更改隐藏的可见性,并在单击事件发生时调用fadeIn()
- iOS UiWebView/页面可见性Api:“;页面显示”;事件未启动