我有这个 HTML。
<html><body>
<a href="http://mydomain.com/video.mp4">PLAY ME!!!!!</a>
</body></html>
因此,如果有人单击链接,则本地媒体播放器会加载,浏览器会进入后台,当视频结束时,它会在同一页面上出现在前台。有没有一种方法可以检测到这一点,即浏览器进入后台,然后在 javascript 中进入前台?
最佳答案
Android Chrome 有 visibilitychange事件;示例代码在这里:http://output.jsbin.com/rinece
测试:
- 在 Android Chrome 上打开该链接
- 要么
- 查看清除按钮下方的日志并注意延迟时间(这样您就可以准确地看到事件在页面中发生的时间)。
- 或附加调试器并观察控制台
- 或者如果您无法附加调试器(WebView 或 AOSP),则打开 http://output.jsbin.com/rinece#http://localhost:80/并使用代理或设置显示正文内容的本地主机服务器(日志文本位于 xmlhttp 请求的正文中;将 # url 更改为代理或服务器,以便您可以看到请求发生)。<
- 更改标签
- 查看日志以确认在 visibilitychange 上发生了哪些事件
AOSP(和 Android < 4.4 的 WebView)的行为可能与 Chrome 不同......
visibilityChange 事件现在在移动设备上得到了很好的支持 - 请参阅 http://caniuse.com/#search=visibility但要注意它不受 iOS UIWebView 支持(即使在 iOS9 上)。
关于javascript - javascript可以检测android浏览器是在前台还是后台吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4121757/