Javascript IE进入睡眠模式了吗?

Javascript IE进入睡眠模式了吗?,javascript,internet-explorer,Javascript,Internet Explorer,我在Jquery/javascript中内置了这个功能,当用户的会话即将超时时,会通知用户。然后,他们可以选择扩展它。如果他们没有做出选择,弹出窗口将自动关闭,浏览器将重定向到登录页面。它在一段时间内工作得非常好。但现在我注意到,只有当我在电脑上处于活动状态时,它才能正常工作。如果计算机一整天无人值守,则弹出窗口不会开始倒计时,直到用户解锁计算机并再次登录 有人知道当计算机长时间无人看管时ie停止执行javascript的行为吗? 更新:有没有办法让标签不睡觉?否则,浏览器将无法在正确的时间重定

我在Jquery/javascript中内置了这个功能,当用户的会话即将超时时,会通知用户。然后,他们可以选择扩展它。如果他们没有做出选择,弹出窗口将自动关闭,浏览器将重定向到登录页面。它在一段时间内工作得非常好。但现在我注意到,只有当我在电脑上处于活动状态时,它才能正常工作。如果计算机一整天无人值守,则弹出窗口不会开始倒计时,直到用户解锁计算机并再次登录

有人知道当计算机长时间无人看管时ie停止执行javascript的行为吗?


更新:有没有办法让标签不睡觉?否则,浏览器将无法在正确的时间重定向。

我建议在加载页面时记录当前时间,然后每隔10秒调用一个函数,以便检查所经过的时间是否超过x数量,出现问题的原因很可能是因为默认超时功能仅在呈现页面时倒计时。

setTimeout
仅在选项卡处于活动状态时起作用。在某些浏览器中,即使更改选项卡也会使其停止计数。因此,不仅当您在计算机上,而且如果您不在特定页面上,它可能无法工作。此外,在多任务移动设备上,它注定会失败,忘记标签,应用程序通常会进入暂停模式。 看看这个问题,它提供了与Luka相同的解决方案,并提供了一个代码示例:


您可能需要对经过的时间进行两次检查,一次检查是否需要显示弹出窗口,另一次关闭弹出窗口,使用经过的总时间而不是不同的倒计时。

您是否使用
setTimeout
实现了此效果?我注意到Chrome也有相同的行为,它以某种方式“冻结”Rob:是的,我使用了javascript函数setTimeout。我不明白你为什么在这一点上投了反对票。它可能会被进一步调整,但使用
setInterval
来执行日期时间比较的总体思路更加可靠,并且回答了这个问题。编辑:输入我并不真的关心我的声誉,我只是想帮助:pEven如果我检查时间流逝,javascript应该能够在正确的时间执行,以便能够将用户重定向到登录页面。当javascript处于挂起模式时,检查时间并不能解决我的问题:(如果页面未处于活动状态,则无法重定向,您不应该期望浏览器这样做。如果您的间隔大约为每两秒一次(如果是一次小检查,则性能不会太高)然后,一旦用户返回到选项卡,就会发生重定向。什么是“正确的时间”是否意味着?如果您关心的是安全问题,那么您应该问问自己,您的服务器是否也在独立于任何javascript调用对会话进行计时。如果是,那么我看不到任何安全影响,如果不是,那么您的问题就出在其他地方。在我正在处理的特定场景中,最好在预期的时间进行重定向。我这不是一个安全威胁。