为JavaScript提供睡眠功能(sleep) 自编译JS引擎
更新时间:2010年08月16日 22:28:20 作者:
如何在js中让函数睡眠多少秒? 经常会有Javascript初学者提出这样的问题,自从js出现以来.
即然该功能如此需要,但为什么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
目前浏览器都是在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
相关文章
AJAX使用了UpdatePanel后无法使用alert弹出脚本
今天在做项目的时候发现个问题。。使用UpdatePanel后alert脚本就要报错了。2010-04-04微信小程序input、textarea层级过高穿透的问题解决
微信小程序原生组件camera、canvas、input、live-player、live、pusher、map、textarea、video的层级是最高的,那么如何解决微信小程序input、textarea层级过高穿透,本文就详细的介绍一下2021-11-11
最新评论