2011-09-07 97 views
0

我有一个使用JavaScript计数器计算用户“活动”时间的网页,这意味着用户花费在查看此页面(而不是某个其他页面)的时间。我通过使用document.onfocusout/onfocusin(IE)和window.onblur/onfocus(other)启动/停止它们来实现此目的。然而,当用户在同一页面(flash,java等)内单击插件时,窗口失去焦点,window.onblur被解雇。有没有办法说明用户还在我的页面上?当点击插件时保留浏览器窗口焦点

在此先感谢

+0

编辑:IE的同行,document.onfocusin和document.onfocusout似乎没有受到这个问题的困扰,他们仍然把重点放在窗口 – periklis

回答

0

这确实是一个问题。但你可以欺骗你的方式。 Flash Player能够与其脚本主机通信,在您的情况下是JavaScript主机。你所做的是,当Flash Player电影获得焦点时(我相信你可以用ActionScript捕捉焦点),使用Flash Player类API将其编程为通知其主机,该API将调用JavaScript函数,该函数将启动定时器再次(并且可选地将焦点返回到页面,因为大多数情况下通常是从页面上偷取焦点是糟糕的主意.Flash Player在默认情况下窃取焦点 - 如果您单击Flash Player电影,键盘不会被JavaScript捕获,只能由Flash Player直接播放。)

你明白我在说什么吗?

+0

我想你是暗示要编辑flash代码本身?这是不可能的,因为我正在处理由用户上传的任意内容,这些内容也可能在iframe中。另外,它没有解决java applet的情况。 – periklis

相关问题