【发布时间】:2012-12-20 23:51:14
【问题描述】:
有什么方法可以检测到浏览器被挂起/冻结/挂起(例如:通过操作系统锁屏)?
我对 ajax 计时器机制有疑问。单击按钮向启动时钟的控制器发送 ajax 请求。在浏览器打开的同时,另一个脚本(通过“setInterval”)使时钟运行。再次单击按钮时,ajax 请求会停止计时器并杀死 setInterval。
但是,我需要检测到浏览器是否已冻结(javascript 已停止),如果是,请发出 ajax 请求以更新计时器。
我想知道是否真的可以通过 javascript 和现代浏览器实现。是吗?
编辑: 我想我第一次没有解释清楚。 无限循环是必须的。这些元素是计时器(秒表)。而且我不想检测脚本是否因为 js 错误或浏览器过载而冻结。
我想检测浏览器 (js) 是否由于操作系统锁屏、操作系统睡眠或其他原因而停止。
【问题讨论】:
-
浏览器页面挂起的问题是它通常是 JavaScript 无限循环或类似的东西导致挂起。发生这种情况时您无法运行 JS,因为它会等待挂起的 JS 完成。
-
我认为如果你不让浏览器无限循环冻结会更好。
-
如果浏览器被冻结,你将如何发出 ajax 请求?
-
你真的认为当浏览器被冻结时,它的一个小角落可以让你运行代码吗?听起来像是一辆没油的汽车,但你想多开一点
-
Juhana:你没看懂,或者我描述得不好。我不想在浏览器处于睡眠状态时拨打电话。我想检测一下,那个浏览器已经睡着了,然后打电话(当它恢复工作时)。
标签: javascript jquery html