您的位置:首页 > 其它

解决Firefox3.6在浏览淘宝网页时崩溃的问题

2011-12-15 12:47 281 查看
快要过年了,准备在淘宝上买件衣服.发现只要在淘宝店铺里频繁点击尺寸,颜色,款式这些选项按钮的时候,火狐就会崩溃.



按照常规办法,找到这些按钮click事件的执行函数,发现即使是把函数体都清空,问题依旧.于是开始找别的原因,又发现点击这些按钮的时候发送给量子统计的URL和点击页面其他地方的请求不一样,linkid和linkurl有值,因为这些按钮都是a标签.



找到量子统计的js http://a.tbcdn.cn/apps/lz/hc.js?v=3 , 可能出问题的地方一句一句排除,最终找到罪魁祸首.是个通过死循环达到延时90毫秒的函数.



简化一下逻辑,下面这样的代码就会让Firefox 3.6崩溃,毫秒数太大和太小都不会崩溃,大概30-300之间才可能有这种情况.我这里添加了这样一个按钮
// function crash() {
var nowTime = (new Date).getTime() + (+$("#delayNum").val());
for (;;) if ((new Date).getTime() > nowTime ) {
return
}
}
// ]]>
死循环延时:

<html>
<body>
<script>
function crash() {
var nowTime = (new Date).getTime() + 90;
for (;;) if ((new Date).getTime() > nowTime) {
return
}
}
</script>
<a href="#" onclick="crash()">别点我!</a>
</body>
</html>


如果你还在坚持用3.6,那打开你的abp,添加这条规则吧.

||a.tbcdn.cn/apps/lz/hc.js?*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: