javascript - 如何检测 Javascript 闲置?

标签 javascript dom browser

有谁知道我如何编写一个 Javacript 函数,如果浏览器的 Javascript 引擎空闲了一定时间,该函数返回 true ?

我很乐意使用 mootools/jQuery 等,如果更容易的话,我更喜欢 mootools。

编辑:

我的实际问题:我正在调用第 3 方的 API。调用立即返回,但它对 DOM 所做的实际工作会持续一段时间(在许多情况下 > 10 秒)。我希望我的一些代码在 DOM 工作完成后立即运行。我对所调用的 API 函数的内部结构一无所知,因此我一直在寻找一种通用方法来确定该函数是否已完成。

最佳答案

如果您调用这样的函数,是否会重置任何空闲时间计数器(假设存在)?

如果您能概述您正在尝试解决的问题,我们可能会帮助您。我可以想出一些方法来解决“自此函数运行以来已经过了多长时间”或“自页面上最后一个事件以来已有多长时间”或“如果用户已在该页面上访问 X 则执行某事”秒”,但我没有任何好的方法可以做到“只有在 X 秒内没有任何事情发生时才执行此操作”。

更新

根据您的更新,我会在 API 中寻找回调机制(您可以分享它是什么吗?),它允许您在 API 完成后安排一些工作。如果这不起作用,您可以尝试添加如下内容:

setTimeout( function() { myCallbackMethod(); }, 0 );

这将安排您的回调在当前执行完成后开始。这取决于 javascript 引擎是单线程的,但我已经看到它曾经有很好的效果。

关于javascript - 如何检测 Javascript 闲置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200363/

相关文章:

html - '行高 : 1' in CSS reset causes HTML background to extend

dom - jsdom 窗口缓存

java - 将文件从 applet 上传到 servlet 时出现问题

javascript - 单击幻灯片内的 span 元素时防止 slider 切换幻灯片

javascript - 使用 jQuery 创建视差对象原型(prototype),我不断收到 jQuery 函数的未定义错误

javascript - 使用 moment.js 进行每周调度

java - 在服务器端检测浏览器 "Save image as..."请求

javascript - BootStrap 布局高度 100%

php - 以 DOM 方式解析 HTML

c# - WPF c# webbrowser 在顶部菜单上滚动