可能重复: Javascript:是否有任何方法检测该窗口当前处于活动状态?(即在活动选项卡/窗口上显示是否正在进行修改)
我有一个基于网络的仪表板,它在医院的地板上向护士等显示关键的时间敏感信息。所面临的挑战是,如果仪表板没有打开或最小化,他们将看不到消息并能够作出响应。目前,我跟踪该应用程序运行的时间百分比(它每10秒在AJAX上轮询新消息,这样我就可以很容易地看到它每小时执行多少次请求),但这并不能告诉我应用程序是否最小化。
一种方法是使用onfocus/onblur,但效果有限,因为部署它的大多数计算机都是双监视器机器,它们通常会在一个屏幕上打开仪表板,而在另一个屏幕上使用临床信息系统。此状态将被计算为“非聚焦”与焦点/模糊方法,但我希望它计数为“打开”我的统计。
有什么办法可以探测到窗口的可见度吗?我想也许包括一个微小的闪光灯“像素”,并检测这是否是可见的-还有其他的想法吗?
发布于 2012-09-21 19:51:07
您可以在支持页面可见性API的浏览器中使用它。否则,就像你说的那样,你将需要使用带有onfocus/onblur的攻击。
visibility.js是一个库,它在所有浏览器中抽象这一点。如果浏览器不支持页面可见性API,它将使用onblur/on聚焦攻击。
function isPageHidden(){
return document.hidden || document.msHidden || document.webkitHidden || document.mozHidden;
}来源:http://www.nczonline.net/blog/2011/08/09/introduction-to-the-page-visibility-api/
读:API接口
https://stackoverflow.com/questions/12536562
复制相似问题