在浏览器窗口中检测另一个应用程序(包括百分比重叠

moh*_*297 9 javascript browser apache-flex flash activex

有没有办法检测应用程序(比如聊天客户端或msword)是否在我的浏览器窗口之上.

一种方法是检查焦点.但这并不能说明另一个程序是关于完整屏幕的浏览器"可查看"区域之上.

如果完整的浏览器是可见的但重点是单词文档/聊天客户端,该怎么办?

编辑:

找到了一家公司的示例演示,该演示文稿来自http://www.spider.io/vStp83jg6/

Ang*_*ity 5

我不认为这需要flash或任何插件,为了有效,这必须基于CSS和Javascript.

浏览器的安全沙箱阻止从操作系统访问此信息.

他们可以在浏览器中一致地做的唯一事情就是检测浏览器窗口被另一个窗口隐藏这一事实的某种副作用.

可以检测到的副作用之一是绘画元素的浏览器渲染优化是否已经启动.

根据spider.io 可视性视频,他们已经基于浏览器渲染优化检测检测到添加是否可见.

如果添加不可见,那么对于页面的该部分,渲染优化将启动并且页面的该部分的呈现将变得更慢,以便节省内存和CPU资源,并加速可见部分的渲染.这页纸.

可以使用相同的技术来检测浏览器窗口是否被隐藏.

如果他们检测到渲染优化正在几个区域中进行,例如可见视口的4个角和页面的中心,则可以安全地假设应用程序被其他外部应用程序隐藏,或者计算重叠百分比的估计值.

他们没有详细说明他们是如何做到的,但由于它是基于速度测量,它可能是这样的:

一种可用于检测另一个窗口是否隐藏浏览器的方法:

创建一个小的不可见的CSS3或基于Javascript的动画,动画在页面的不同部分动画不可见的元素.动画不应该影响页面的性能,可以随意启动/停止.

在页面启动时测量动画的时间,并取平均值.如果页面被另一个OS窗口隐藏,那么渲染优化就会启动,动画运行的时间会更长.

在这里检查浏览器API以检测CSS3动画的开始和停止,这可能是实现此目的的一种方法.


Pic*_*tor 2

  1. Alexa 等公司收集的商业网络流量数据。由已安装的软件(例如工具栏)执行。并跟踪用户活动、程序、打开的窗口......一切......(经同意)
  2. 有争议的答案,它未经同意就执行上述操作(间谍软件?)

注意上面2个方法的要点。是数据来自安装该软件的计算机样本。并非该网站的每个访问者(除非访问该网站会插入间谍软件)

通过安装定制软件。他们可以绕过所有与浏览器相关的限制/安全性。

也许通过提供声称这样做的公司的信息可以找到更多信息?