日期:2014-05-16  浏览次数:20373 次

DHTML“创建线程”?这几天才发现在Mozilla firefox里的一个现象(setTimeout和alert)
请用firefox浏览。

不要只看标题:D,创建线程打引号的

在示例中点击DIV就可以看到效果了,alert不会阻塞创建div也不会阻止运行。

示例见
http://www.never-online.net/code/js/setTimeout/

示例说明见
http://www.never-online.net/blog/article.asp?id=143

------解决方案--------------------
板凳
------解决方案--------------------
好玩
------解决方案--------------------
上面那个可以看到弹出两个alert的示例我这边好象不行啊,你的是什么版本呢?
我的是1.0的FF
而且在IE中也没看到多两个进程哦,大家说说自己的情况吧
不过那个不阻塞DIV生成看到效果了
------解决方案--------------------
原来你的程序是这样的,要改下才可以看到
<script type= "text/javascript ">
// <![CDATA[
var g_cnt = 0;

var myAlertFunc = function () {
window.alert( 'NEVER-ONLINE ALERT\n\n '
+(arguments[0]?arguments[0]: ' ')+
'\n\n ' +(g_cnt++));
if(g_cnt <5)
{
window.setTimeout( "myAlertFunc( '[Internal] ') ",delay);
}
};
for (var i=0; i <2; i++) {
var delay = delay ? delay+10 : 10;
window.setTimeout( "myAlertFunc( '[External] ') ",delay);
};

//]]>
</script>
------解决方案--------------------
的确很好玩哦,:)
------解决方案--------------------
这下看到了,还多了10个句柄数,看来一个alert,系统执行了不少东西
------解决方案--------------------
不错,帮顶。
------解决方案--------------------
我的是1.0的,效果就是需要象上面那样改下才能看到
------解决方案--------------------
飘过的说。
------解决方案--------------------
EMU 曾经在JS版发过一个帖子,就是说多线程问题,你可以参考参考。

另外,在FF里 alert 不能严格阻止脚本的运行,这点与IE不同。