2010-11-08 51 views
3

我有这个HTML。 如果android浏览器处于前景或背景可以检测到JavaScript?

<html><body> 
<a href="http://mydomain.com/video.mp4">PLAY ME!!!!!</a> 
</body></html>
所以,如果有人点击链接,然后本机媒体播放器加载和浏览器进入后台,当视频结束时,它会在同一页面显示前景。有没有办法检测到这一点,即浏览器去背景,然后在JavaScript的前景?

+0

标准窗口焦点/模糊事件不适用于android浏览器吗? (例如:http://help.dottoro.com/ljjhfrjd.php) – ndtreviv 2012-01-05 16:45:16

回答

0

因此,@ndtreviv链接的文章称“切换到其他文档或应用程序”。尚未在Android中实现。但是,如果您愿意,您可以制作一个使用WebView显示内容的应用程序。这样,您就可以从JavaScript访问所有原生Android的东西。

0

还有就是允许移动web应用,以检测它们是否在前台与否的建议,您可以使用“visibilitychange”事件,在这里看到:http://www.w3.org/TR/2013/REC-page-visibility-20131029/#sec-visibilitychange-event

请注意,此事件是在文档解雇,不在窗户上。例如:

window.document.addEventListener("visibilitychange", function(e) { 
    window.console.log('VISIBILITY CHANGE', window.document.visibilityState); 
}); 
0

Android Chrome有visibilitychange事件;示例代码是在这里:http://output.jsbin.com/rinece

测试:

  • 在Android浏览器打开该链接
  • 要么
    1. 观看清晰的按钮下方的日志和通知的延迟时间(这样你就可以查看页面内的事件发生的时间)。
    2. 或附加调试和看控制台
    3. 或者,如果你不能连接调试程序(的WebView或AOSP),然后打开http://output.jsbin.com/rinece#http://localhost:80/和使用代理服务器或设置,显示你的主体内容(日志本地主机服务器文本位于xmlhttp请求的主体中;将#url更改为代理或服务器,以便您可以看到请求发生)。
  • 更改标签
  • 观看日志以确认在visibilitychange

AOSP(和的WebView的Android 4.4 <)事件的发生可能有比Chrome的不同的行为......

的visibilityChange事件现在在移动设备上得到了很好的支持 - 请参阅http://caniuse.com/#search=visibility,但请注意,它不受iOS UIWebView支持(即使在iOS9中也是如此)。

相关问题