Javascript 自firefox中上次用户激活以来的时间

Javascript 自firefox中上次用户激活以来的时间,javascript,firefox,xul,firefox-addon,Javascript,Firefox,Xul,Firefox Addon,我目前正在开发一个firefox扩展,它定期(每2分钟)检查一些服务器端XML文件。我想添加以下功能: 当用户在X分钟内处于非活动状态时,检查间隔将延长Y的乘法器,直到达到Z的限制。为了做到这一点,我需要不活动的时间。这个值(或类似的值)是否已经由firefox内部生成?如果是:如何从分机访问它?如果没有:有没有办法自己生成它?您只能在浏览器窗口/选项卡中检查用户是否处于非活动状态。这可以使用javascript实现 onbody load->在lastactivitytime()中存储时间 o

我目前正在开发一个firefox扩展,它定期(每2分钟)检查一些服务器端XML文件。我想添加以下功能:


当用户在X分钟内处于非活动状态时,检查间隔将延长Y的乘法器,直到达到Z的限制。为了做到这一点,我需要不活动的时间。这个值(或类似的值)是否已经由firefox内部生成?如果是:如何从分机访问它?如果没有:有没有办法自己生成它?

您只能在浏览器窗口/选项卡中检查用户是否处于非活动状态。这可以使用javascript实现

onbody load->在lastactivitytime()中存储时间

onmouse move->存储时间lastactivitytime(document.onmousemove)

按键盘->存储时间lastactivitytime(document.onkeypress)

每次间隔到期时,检查值与当前时间的对比


如果该窗口在Blur事件中未处于活动状态,则停止轮询全站。您将不知道该用户是否在另一个窗口中处于活动状态。如果您同意的话,那么您应该将mousemove、keydown、mousescroll(?)等事件的侦听器附加到每个打开页面的主体上,并通过一些内部FF方式侦听是否创建?关闭选项卡。如果某些侦听器在X分钟内未被触发,则您将处于非活动状态。

我希望,如果覆盖browser.xul,您应该能够在浏览器级别钩住事件,而不是在单个页面上乱动。XPCOM有一个从扩展中获得的解决方案。

这对于网页来说很好,但是对于整个浏览器来说,难道没有更巧妙的解决方案吗?