首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

setInterval()的替代方案-在电脑锁定时保持时间/在Chrome中做其他事情

setInterval()是JavaScript中的一个函数,用于按照指定的时间间隔重复执行指定的代码。然而,当电脑锁定时,浏览器会进入非活动状态,JavaScript代码将停止执行,包括setInterval()函数。

为了在电脑锁定时保持时间或在Chrome中做其他事情,可以使用Web Workers来实现替代方案。Web Workers是一种在后台运行的JavaScript线程,可以独立于主线程执行代码,不受页面活动状态的影响。

以下是使用Web Workers实现在电脑锁定时保持时间的示例:

  1. 创建一个新的JavaScript文件,例如worker.js,其中包含以下代码:
代码语言:txt
复制
// 在worker.js中的代码
setInterval(function() {
  // 执行需要保持运行的代码
}, 1000);
  1. 在主线程的JavaScript文件中,使用以下代码创建并启动Web Worker:
代码语言:txt
复制
// 在主线程中的代码
var worker = new Worker('worker.js');

通过这样的方式,Web Worker将在后台独立运行,并且不受电脑锁定或Chrome中的其他操作的影响。可以在worker.js文件中编写需要保持运行的代码,例如更新时间、执行其他任务等。

需要注意的是,Web Workers只能在支持HTML5的浏览器中使用。另外,Web Workers之间的通信需要使用消息传递机制。

对于在Chrome中做其他事情,可以使用Chrome的扩展程序来实现。通过编写一个Chrome扩展程序,可以在浏览器后台运行自定义的JavaScript代码,而不受页面活动状态的影响。

希望这些信息对您有所帮助!如果您需要了解更多关于云计算、IT互联网领域的知识,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浏览器层面优化前端性能(1):Chrom组件与进程线程模型分析

如果blink被发现什么提权漏洞,例如写一段js就能控制整个chromium进程任何事情,显然多进程可以把损失限制渲染线程。渲染线程拿不到主进程各种私密信息,例如别的域名下密码。...Chrome线程模型Chrome线程模型极力规避存在,将限制了极小范围内(仅仅在将Task放入消息队列时候才存在…),并且使得上层完全不需要关心问题(当然,前提是遵循它编程模型,将函数用...定时触发器线程浏览器定时计数器并不是由JS引擎计数, 因为JS引擎是单线程, 如果处于阻塞线程状态就会影响记计时准确, 因此通过单独线程来计时并触发定时是更为合理方案。...则是每次都精确隔一段时间推入一个事件而且setInterval有一些比较致命问题就是:累计效应如果setInterval代码setInterval)再次添加到队列之前还没有完成执行,就会导致定时器代码连续运行好几次...同样, Node 定时器指定时间也不是准确时间,只能是尽快执行。

87610

浏览器层面优化前端性能(1):Chrom组件与进程线程模型分析

如果blink被发现什么提权漏洞,例如写一段js就能控制整个chromium进程任何事情,显然多进程可以把损失限制渲染线程。渲染线程拿不到主进程各种私密信息,例如别的域名下密码。...Chrome线程模型Chrome线程模型极力规避存在,将限制了极小范围内(仅仅在将Task放入消息队列时候才存在…),并且使得上层完全不需要关心问题(当然,前提是遵循它编程模型,将函数用...定时触发器线程浏览器定时计数器并不是由JS引擎计数, 因为JS引擎是单线程, 如果处于阻塞线程状态就会影响记计时准确, 因此通过单独线程来计时并触发定时是更为合理方案。...则是每次都精确隔一段时间推入一个事件而且setInterval有一些比较致命问题就是:累计效应如果setInterval代码setInterval)再次添加到队列之前还没有完成执行,就会导致定时器代码连续运行好几次...同样, Node 定时器指定时间也不是准确时间,只能是尽快执行。

77310
  • 深度解密setTimeout和setInterval——为setInterval正名!

    ,我们可以每次callback判断。...Nodejs: ? 浏览器渲染或者计算没有什么压力情况下,定时效率 ? 再渲染或者计算压力很大情况下,定时效率 ? 首先是毫无压力情况下大家性能,Interval完胜!...哈哈苍天饶过谁,相同时间,相同压力情况下,都出现了跳帧超时,不过两人原因不一样setTimeout压根没有执行,而setInterval是因为抛弃了相同队列下相同定时其他callback也就是只保留了了队列第一个挤进来...比如,学习时候无法其他事情,只能专心看书,这就是单线程。再比如,有些妈妈很厉害,可以一边织毛衣一边看电视,这就是多线程,可以同一时间两件事。...解决方案就是root=null,清空引用,消除有力状态dom。 ? 如果setInterval存在无法回收内容,那么这一部分内存就永远无法释放,这样就导致内存泄漏。

    3.6K30

    Chrome、Edge等最新版浏览器中继续使用Flash Player方案

    起因是其现在车子系统浏览器运行网页代码依赖Flash Player控件运行,而其开发商Adobe公司呢,完全没考虑商用业务系统风险做了一个骚操作,32后版本中加入了“定时炸弹”,从2021...年1月12日(美国时间)开始禁止Flash内容Flash Player运行,而Flash PlayerWindows 8及以上版本操作系统中一直是内置自动更新,从而引发了现在车子系统故障。...按理说你Adobe公司不再维护Flash Player也就罢了,用户继续使用引发风险自己承担,也没人会来追究你责任,非要整这么一个定时炸弹软件,这和植入了木马病毒又有啥差别呢?...Flash Player运行支持),中国大陆地区出特供版虽然无时间炸弹问题,但因为其收集电脑上网信息并针对性弹出广告,广大用户早就怨声载道,自然也不能用在商业环境。...而国际版从30.0.0.113开始版本就加入了区运行限制,就是国际版正常不能在中国大陆地区电脑上正常运行。所以对最新国际版通过修改其控件特定位置字节码从而解除其区问题及时间炸弹问题。

    3.9K60

    JavaScript设置定时器、取消定时器及执行机制解析

    ID func 回调 这算一个比较新定时器,目前IE11/Edge支持、Nodejs支持,Chrome不支持,其他浏览器未测试。...IE11/Edge,setImmediate延迟可以1ms以内,而setTimeout有最低4ms延迟,所以setImmediate比setTimeout(0)更早执行回调函数。...不过Nodejs,两者谁先执行都有可能,原因是Nodejs事件循环和浏览器略有差异。...而通过setTimeout模拟setIntervalsetInterval区别则在于:setTimeout只有回调完成之后才会去调用下一次定时器,而setInterval则不管回调函数执行情况...,当到达规定时间就会在事件队列插入一个执行回调事件,所以选择定时方式时需要考虑setInterval这种特性是否会对你业务代码有什么影响?

    4.8K10

    setTimeout那些事

    但他有个局限:同一时刻只一件事(单线程)"。 以上体现了Javascript浏览器运行环境局限性,单线程。...,接着继续做手头上事,等BOSS手头上事情做完了,会从小本本上选择最早记录没被执行任务来执行。 BOSS能力和时间有限,能做只有这么多了。...实际上,setTimeout事情是:指定delay时间后,将指定方法作为异步任务添加到异步任务队列。...最惨是,即使天时地利人和,到了定时时间时,JS主线程空闲,异步任务队列只有setTimeout执行方法,这个方法执行时间也并不是精确delay时间(精确到毫秒),因为浏览器上计时器精确度有限...你是说JS主线程步同任务执行时间很长,并且异步队列只有我往其中添加任务,导致我异步队列重复添加任务没有及时被执行,然后JS主线程空闲后,我添加多个任务就会连续执行,是吗?

    1.6K10

    setTimeout那些事

    但他有个局限:同一时刻只一件事(单线程)"。 以上体现了Javascript浏览器运行环境局限性,单线程。...,接着继续做手头上事,等BOSS手头上事情做完了,会从小本本上选择最早记录没被执行任务来执行。 BOSS能力和时间有限,能做只有这么多了。...实际上,setTimeout事情是:指定delay时间后,将指定方法作为异步任务添加到异步任务队列。...最惨是,即使天时地利人和,到了定时时间时,JS主线程空闲,异步任务队列只有setTimeout执行方法,这个方法执行时间也并不是精确delay时间(精确到毫秒),因为浏览器上计时器精确度有限...你是说JS主线程步同任务执行时间很长,并且异步队列只有我往其中添加任务,导致我异步队列重复添加任务没有及时被执行,然后JS主线程空闲后,我添加多个任务就会连续执行,是吗?

    2.1K00

    setTimeout和requestAnimationFrame

    线程是车间里工人,可以自己自己事情,也可以相互配合做同一件事情。 如果你想知道更多,推荐看 《WebKit技术内幕》这本书。...而javascript引擎对这个问题解决是:当使用setInterval()时,仅当没有该定时任何其他代码实例时,才将定时器代码添加到队列。...这确保了定时器代码加入到队列最小时间间隔为指定间隔。...如果事件处理程序花了300ms多一点时间完成,同时定时器代码也花了差不多时间,就会同时出现跳过某间隔情况 ? 例子第一个定时器是205ms处添加到队列,但是直到过了300ms处才能执行。...当执行这个定时器代码时,405ms处又给队列添加了另一个副本。在下一个间隔,即605ms处,第一个定时器代码仍在运行,同时队列已经有了一个定时器代码实例。

    1.8K20

    谷歌、微软抛弃Flash:HTML5播放器时代即将到来

    时间到了2020年,大家打开Chrome浏览器,“又”会收到一条警告。转眼之间,离Chrome停用Flash只剩8个月。 [zezoat9lhw.jpg?...在这个时间节点,HTML5已经逐渐替代Flash,成为网页上音视频播放主流标准。 222.jpg Flash是如何在这场战争败下阵来?为什么H5又能替代Flash?让小保带大家一探究竟。...2.被曝光收集用户隐私 安装时候,Flash不仅仅捆绑游戏中心,还会侵入你电脑,干起见不得人事情。 安装Flash后,电脑后台会出现名为HelperService进程,常驻系统,不可关闭。...3.不定时弹窗,打扰用户 除了之前被曝光收集用户隐私,Flash进程还不定时给用户弹广告窗口。 777.jpg 这些行为引发了大量用户不满,捆绑安装软件就算了,还擅自收集用户隐私,强制弹广告。...程序员只需要在网页嵌入 标签即可。 除此之外,H5还具有以下特性: 本地存储:可以让H5应用启动和联网更快,因为应用在运行时候,有部分数据会存储本地,能够快速调用。

    1.9K21

    JS深入浅出 - requestAnimationFrame

    特点 3.1 定时动画存在问题 setTimeout / setInterval 不能保证回调运行时刻:计时器只能保证何时将回调添加至浏览器回调队列(宏任务),不能保证回调队列运行时间,假设主线程被其他任务占用...setTimeout / setInterval 计时不精确:不同浏览器计时器精度都存在误差,此外浏览器会对切换到后台或不活跃标签页计时器进行限流,导致计时器计时误差。...(现阶段浏览器对此做了优化,如 FireFox/Chrome 浏览器对定时器做了优化:页面闲置时,如果时间间隔小于 1000ms,则停止定时器,与requestAnimationFrame行为类似。...如果时间间隔>=1000ms,定时器依然在后台执行)3.2 requestAnimationFrame 动画刷新机制特点 requestAnimationFrame 采用系统时间间隔来执行回调函数,保持最佳绘制效率...requestAnimationFrame 会把每一帧所有DOM操作集中起来,一次重绘或回流完成。

    1.6K30

    移动端倒计时不准:手机屏熄屏APP后台运行屏幕卡顿

    息屏导致 js 定时时间不准问根据后端返回的当前服务器时间做一个倒计时,用settimeout 替换 setInterval ,刷新页面时间【 PC 上 Firefox、Chrome 和 Safari...等浏览器,都会自动把未激活页面 JavaScript 定时器(setTimeout、setInterval)间隔最小值改为 1 秒以上。...这是因为间隔很小定时器一般用来 UI 更新(例如用定时器实现动画),让用户不可见页面上定时器跑慢一些,既节省资源又不会影响体验。...setInterval 来完成,这段代码PC可以正常运行,Android也可以正常运行,但是拿到ios,就会有一个问题,来看图:上图中,当倒计时走到37时候,用手拖动页面,这个时候js代码会被阻塞...刷新你页面,可以看到依然正确工作,之后再拿到ios之前gif图同样操作,如下图:我们可以看到,55秒时候开始拖动页面,这个时候倒计时停止了,不过,当我们放手之后,倒计时会立刻恢复到正常应该到达时刻

    2.2K10

    用.NET设计一个假装黑客屏幕保护程序

    这使得当你离开电脑并且忘记将其锁定时其他人更难于访问你设备。配对完成后,只需离开时随身带上手机,你电脑便可在你超出蓝牙覆盖范围之后大约一分钟自动锁定。...针对上门提出超时锁定,这个屏幕保护程序可以大有作为,我们可以勾选“恢复时显示登录屏幕”,这样我们不使用电脑第一段时间后就需要输入密码了。...作为一个古老功能,实际上屏幕保护程序仅对使用图形界面操作系统 CRT 显示器有保护作用。对于CRT来说,屏幕保护是为了不让屏幕一直保持静态画面太长时间。...这里我们可以同时配合“屏幕超时设置”,定时间下关闭电脑屏幕。比如1分钟进屏幕保护,3分钟直接关闭屏幕。 屏幕超时设置 设计一个屏幕保护程序 设计之前我们需要了解一些基本常识。...前面的窗体预览我们处理好了启动参数,只需要通过 WinAPI 更改父窗体就行,但是因为只是简单处理,没有缩放,所以我就简单放了个图片替代了。

    1.2K30

    如何将开发流程工具化,躺着把代码写了

    这俩库都是node环境下才能跑,而UE和PM电脑不会装 node,加上功能多了以后有个图形界面会更好,就想到了 electron(提供node环境和图形界面)。 先简单介绍下这三门技术: 1....然后通过 executablePath 指定一个本地 chrome 启动路径,可以设置里面修改(一般 chrome 路径是固定),这样使用本地 chrome 来跑,不用连 chrome 一起打包进去...然后会扫描代码库下 package.json npm scripts,可以界面上执行,也可以选择系统 terminal 或者 ide terminal 执行。...工具箱工具有两种触发方式,一键触发和定时任务触发,比如每两周都自动列一下可用会议室,然后准备好邮件,只需要确认下信息,然后点发送就可以自动订会议室,有的工具不需要定时功能。...他能把我们工作中一些耗费时间却没有多大必要去手动事情给自动完成,释放我们时间一些更有意义事情。插件机制让它变得更有想象空间,也许可以围绕这个工具形成生态。

    1K20

    前端day14-JS(WebApi)学习笔记(BOM、定时器)

    navigator:包含当前浏览器信息,例如用什么浏览器,操作系统版本等 screen:获取用户电脑屏幕分辨率(这个一般不用,因为对开发者没啥作用) 1.png 1.2-window对象 1.window...对象:指的是当前浏览器窗口,它是JS顶级对象 (1).所有的全局变量都是window对象属性:最顶级对象 document对象 bom对象 全局方法:alert(),setInterval()...1.1-setInterval 定时器:某一件事(一段代码)并不是马上执行,而是隔一段时间执行 setInterval:创建定时器 特点:一旦创建立即计时,必须要手动停止,否则会无限每隔一段时间执行代码...clearInterval(定时器id):清除定时器 一个页面可以创建很多个定时器,通过制定定时器id可以清除特定定时器 1.2-setTimeout 定时器setTimeout与setInterval...唯一区别是,setTimeout定时器只会执行一次 总结: 1.如果你想让这个代码一段时间后只执行一次,使用setTimeout 2.如果你想让这个代码每隔一段时间执行一次(执行多次),使用setInterval

    1.7K00

    从一个超时程序设计聊聊定时方方面面

    零超时定时冒泡链活用 能否写一个通用、立马执行、有总数限制时间间隔均等定时器? 习题与答案 如何设计一个靠谱超时程序?...代码1,我们设定定时器每隔1秒触发一次,但在实际运行过程,无法保证每隔1秒执行一次。如果间隔时间无法保证,例如延后了,那么总执行时间就要长于允许时间。...实际项目开发,经常会有接口轮询操作,即每隔一定时间向服务器发起一次查询操作。在这种场景setInterval就不合适了,取而代之的当是setTimeout。...定时器代码,每次都检查一下当前时间与超时时间。这样无论定时器如何偏差,时间总不会错。 使用时间计算超时,这种方案适用于对时间要求不是特别精准场景。...立即定时器是一个比较新定时器,目前IE11/Edge支持、Nodejs支持,Chrome不支持。将用到setImmediate代码,Chrome浏览器测试,是无法执行

    1.4K20

    聊一聊万恶

    ,笔者大概总结了15种以上方法可以修改主页,但是由于存在和其他首程序对抗(主要是锁定时问题),其他方法就不再赘述,如果感兴趣我们可以一起讨论。...我们这里就大概聊一下上面几种方法优缺点,主要是锁定时掌握,以及简单谈一谈对抗代码实现和一些个人想法。...然后恶心人事情就来了 ,一不小心突然就变成了”C:\ProgramFiles(x86)\Google\Chrome\Application\chrome.exe”http://www.xxxx.com...所以针对CommandLine时机抢占,应用层是做好,毕竟越晚修改越好嘛。...TDI过滤利与弊: 弊: 笔者搜集了市面几种首之后通过TDI过滤网络请求,基本都干掉了多款使用以上12345种方法程序.但并不是完美的.还存在一个致命问题就是Chrome和FireFox加入了证书检测

    66370

    JavaScript——定时器为什么是不精确

    ,这个我们是不确定 等到宏任务执行,代码会检查 setInterval 是否到了指定时间,如果到了,就会执行 setInterval,如果不到,那就要等到下次 EventLoop 重新判断 当然,还有一部分不确定因素...,比如 setInterval 时间戳小于 10ms,那么会被调整至 10ms 执行,因为这是 setInterval 设计及规定,当然,由于其他任务影响,这个 10ms 也会不精确 还有一些物理原因...,如果用户使用设备处于供电状态等,为了节电,浏览器会使用系统定时器,时间间隔将会被调整至 16.6ms 深入探究版 1.超时限制为>=4ms 现代浏览器,由于回调嵌套(嵌套级别至少为特定深度)或者经过一定数量连续间隔而触发连续调用时...(cb,0) Chrome和Firefox 第五次连续调用就会被限制 Safari锁定了第六次通话 Edge第三次 Geckoversion56已经这样开始尝试setInterval(对setTimeout...Chrome从版本11开始实现该行为,自Firefox 14出现错误736602以来,Android版Firefox背景标签使用超时值为15分钟,并且背景标签也可以完全卸载 3.限制跟踪超时脚本

    16910

    浏览器实现JavaScript计时器4种创新方式

    Web Worker中使用无限同步循环 由于 Web Worker 本质上是Web线程,因此你可以在其中无限循环而不阻塞主线程。这使你可以访问微秒级时间分辨率。...这对于 Worker 做出时间关键决策是特别实用,可以让主线程准确知道什么时候合适。例如:只要微秒是质数,就渲染某些东西。要访问微秒,你可以使用 performance.now。 ?...从 DOM 删除隐藏 div 时,将自动进行清理。例如,如果你有一个可渲染时间 React 组件,则无需卸载时任何事情。该 div 将被删除,该事件将不再触发。...其他CSS规则可能会干扰你配置。 IE 和 Edge ( Chromium 之前)不受支持。 不准确 根据我测试,它可能会延迟15ms。 直到整页加载才开始。...这使你能够访问纯 JS (和 Web api )定时机制。

    1.9K30

    浏览器也拥有了原生时间切片” 能力!

    Chrome 使用数据显示,用户页面上花费时间有 90% 是在网页加载完成后花费,因此,仔细测量整个页面生命周期响应能力是非常重要,这就是 INP 指标评估内容。...浏览器希望使用 INP 替代 FID 就意味着用户交互体验越来越重要了,我们常常听到时间切片概念,实际上就是为了提升网页交互响应能力。...你可以通过在任务明确交出控制权来提高对页面上用户输入响应速度,这样就能在下一个合适时间来完成任务。这样,其他任务就能更快地主线程上获得时间,而不必等待长任务完成。...每个小任务完成后,控制权就会交还给主线程,浏览器就有了时间去及时完成用户交互或页面的绘制,所以页面会很丝滑: 这个思路太棒了,原生 JavaScript 代码,或者其他框架我们也想要这样能力怎么办...Ran blocking task via setInterval 很多脚本(尤其是第三方脚本)经常会注册一个定时器函数,某个时间间隔内运行工作。

    45320
    领券