Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

一个会造成Firefox占用CPU的Javascript程序错误

06/09/07。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


网友贴出一个网站,用Firefox访问会僵死,CPU占用100%,虽然不至于上系统挂掉,但Firefox自己会没有反应。我试了下,确实如此。看了它的页面,发现最后有一段Javascript,里面有个setInterval(),Google了一下,发现Mozilla那里近期刚解决了一个相关Bug,于是以为是真的Bug。再于是就下载了号称解决问题的20070531的Firefox 3.0alpha,来试这个网页和单独那段JS,发现没有效果。这才发现这个Bug其实说的是别的问题。

再看这段JS代码,发现那个setInterval写在函数体内可能有问题,把它拿出来,再试,果然好了,随意滚动,都不再有占用CPU的问题。这个网站在IE7上看,也一样要占用40%左右的CPU(可能机器比较破),但没有僵住。代码看下面,这里是把setInterval拿出来的样子。网上我放了两个HTML,一个是好的,一个是坏的,有兴趣可以试一下。坏的那个应该是有效果的吧,只能杀死,风险自负。



 1

 2 <SCRIPT>

 3     set_y = 0;

 4     distance = 0;

 5     document.all['move_banner'].style.left = 900;

 6 //    move_div();

 7     setInterval('move_div()');

 8     function move_div()

 9     {

10             var new_y;

11             new_y = document.body.scrollTop;

12             distance = new_y - set_y ;

13             if( set_y != new_y ) set_y += ( distance / 10 );

14             document.all['move_banner'].style.top = set_y+250;

15 //    setInterval('move_div()');

16     }

17 </SCRIPT>





06/09/07 00:01:00,由cathayan发表。目录:电脑

1条评论

果真……
那个。。。
cpu立刻满了……
哎……
真有人写出这么烂的js。。。
我在sina看下视频 不允许js就不出来播放器
允许了 就奔100去了。。。
哎……太次了。
firefox控制台里面还提示xss脚本攻击呢。。
一大堆错误和警告……

http://liumang.yo2.cn 防暴流氓 于 06/26/07 12:56:23 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了
哥利亚
NucleusCMS回归
怎么把孩子养到18岁,神志正常还不恨你
Open Live Writer
Windows 10 升级初体验
光学大师维米尔
VLC 显示中文字幕

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.