emu in blogjava

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  171 随笔 :: 103 文章 :: 1052 评论 :: 2 Trackbacks

前两天定位一个用户浏览器卡死问题,一打开页面就卡的很死,毫无反应,用httpwatch抓包的话就和IE死在一起了,没法子用fiddler抓包,发现下载到一个png图片的时候,由于dns解析问题,改png图片指向了海外服务器,无法下载完成,此时浏览器不是跳过这个图片往下走,而是就卡在该处,也不对用户操作有任何响应。如果设法让该请求返回一个png图片,浏览器立刻就回复了正常。

究其原因,是IE6下面要使用半透明png图片,就躲不开神奇的DXImageTransform.Microsoft.AlphaImageLoader滤镜。不管你是用所谓的脚本方式还是htc方式,都一样。而这个滤镜在开始工作的时候,IE6必须老老实实停下来等它完成。由此杯具就诞生了。

考虑到用户环境的复杂性,如果真的要做一个稳定可用的在线web应用,还是尽量避免使用滤镜去渲染半透明的png图片吧。哪怕在IE六下给一个降级的解决方案呢(不透明图片?透明gif?),或者干脆先下载好图片再应用滤镜(如果用js或者htc方案的,更可以考虑把这个检测加进去)。

posted on 2010-01-28 17:36 emu 阅读(1501) 评论(1)  编辑  收藏 所属分类: DHTML和JAVASCRIPT 技术

评论

# re: IE6使用半透明png图片可能导致浏览器卡死 2010-04-13 10:51 Meteoric_cry
看到qzone现在使用PNG的地方并不多,我以前遇到过的是PNG作为body的背景,鼠标中轮滚动的时候IE下CPU消耗极高,后来发现是图片过大引起的,ie6对PNG的支持并不好.......

过多的使用脚本,对于使用IE6的访问用户也是一件很痛苦的事情,页面能看到但卡住了半天却没反应,典型的例子就是sohu的白社会,因为它大量采用了缓存AJAX的解决方案,在改变页面hash的时候亦是很卡,效果却不是很理想...

在使用IE6访问淘宝首页的时候,将滚动鼠标中轮至页面底部时,网速有点慢,浏览器亦是直接挂掉...  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: