欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-05-03 15:27:16
...
即然该功能如此需要,但为什么js中不提供这样的函数呢?

目前浏览器都是在UI线程解析js,以火狐浏览器为例,我重新编译了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
相关标签: JS引擎