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

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

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

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

简化一下逻辑,下面这样的代码就会让Firefox 3.6崩溃,毫秒数太大和太小都不会崩溃,大概30-300之间才可能有这种情况.我这里添加了这样一个按钮 死循环延时:

<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?*

 

posted @ 2011-12-15 12:47  紫云飞  阅读(1599)  评论(2编辑  收藏  举报