为JavaScript提供睡眠功能(sleep) 自编译JS引擎

作者:木棉

时间:2026-10-25

浏览:621

本文介绍通过重新编译Firefox JavaScript引擎,在Object原型上添加sleep()方法,实现JavaScript中的睡眠功能。该方法调用C语言线程睡眠函数,默认休眠1秒,会导致UI界面阻塞。文章提供了新编译引擎的下载及使用方法,建议通过定制浏览器分发以支持此类功能。

文章目录

自定义JS引擎实现sleep功能

既然该功能如此需要,为什么JavaScript标准中不提供这样的函数呢?



目前浏览器都在UI线程解析JavaScript。以火狐浏览器为例,我重新编译了JS引擎,并且在JS引擎中添加了sleep方法,该方法调用C语言的线程睡眠函数。


将方法附加到Object上,方法签名为sleep();无参数。默认休眠1秒钟,如果你在js中调用该函数,浏览器UI界面将被阻碍。




另外如果你的js函数存在死循环,浏览器的js解析会检测到js执行超时会提醒你是否终止执行本页面的js。


最后提供新编译的js引擎,将它们替换firefox下的js引擎即可。



然后你可以写一段js玩一玩,比如"testSleep".sleep();因为我是在Object添加的,所以你可以在任何js对象上调用这个函数。



使用说明:


主要是需要网站访问者需要安装您定制的浏览器。


你自已发布火狐客户端不就行了,如果你的项目真需要.


必须指定我们自已的浏览器,就像要求用户必须安装flash插件一样简单.



附件:firefox_js.rar

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章