2007-09-07
拿什么拯救你,我的ie
我想在写这篇文章之前,已经有无数的难友被IE折磨得痛苦不堪了.
下面就将我自己用IE的问题作个小结:
1.div 无法覆盖select 表单的问题
痛苦指数


解决办法:
各路大仙真是仁者见仁,智者见智,归纳起来主要有两种
a. 隐藏法
计算select附近的div,如果发现div重叠,就赶紧隐藏select,典型代表 :www.dynarch.com/projects/calendar/
b.替换法
干脆用div + table 重写个select得了
Ext做得不错,提供了对select的refresh方法 www.extjs.com
2.缺少有效的脚本调试支持
痛苦指数




对于B/S的 B端开发人员来说,脚本调试器简直就是小李手的小刀.
相对于firefox下的firebugaddons.mozilla.org/firefox/addon/1843
IE的解决办法就是安装庞大的 InterDev , 或者目前的.net frame,就算是这样的庞然大物,
程序无响应也是经常的事情.
解决办法:
偶的解决办法,就是写跨浏览器的脚本,在ff下调试完了再往IE下移。
如果只在IE下出问题咋办? ———alert!!!!!
3.低性能
痛苦指数


如果你用过这个www.scbr.com/docs/products/dhtmlxTree/index.shtml
如果你的书有上千个节点, 一定就会有所体会了,
在同一个页面里将几个图片重复利用几千次?
对不起,在IE中你不得不等待"xxxx"个图片正在下载。
我就弄不懂,同一个页面里的对同一个img的url引用,有必要每次都去检查更新么??
解决办法:
把访问策略设置为“自动”吧,第一次的慢嘛只好忍受了。
提及低性能,有个有趣的实验一定要做——将几千行的纯文本粘贴到 IE 的textarea中试试看,
一定会给你一个惊喜。
4.自作主张
痛苦指数


如果你调用getElementById,而ie未发现此id,那么它就会去找name为此id的元素并返回给你,不报任何错误。
解决办法:
写程序小心再小心
5.内存泄漏
痛苦指数




在页面中通过js反复创建和删去Div,ie6会出现内存泄漏,甚至重启ie仍然无济于事。
这个真是RIA的噩梦啊!!
RIA常用的手段就是利用div模拟窗口,因此div的创建和释放是最基本的操作。
解决办法:
参考Ext的destory机制
我的办法就是div复用,建一个就不放,重复利用。就算这样,由于窗口内容的刷新同样需要动态建立和释放html元素,
仍然存在内存泄漏。
6.兼容性差
痛苦指数

这个问题是前一段在客户那里发现的,微软2003拼音输入法,与ie下textarea的刷新冲突。
大家可以用下面这个最简单的页面看看效果
当使用微软拼音2003的逐词提示,ie无法正确判断出刷新区域,干脆就将整个页面从背景到各层div逐个刷新的一遍。
导致屏幕狂闪。
让人哭笑不得的是,在firefox下居然一切正常。
7.容错性差
一个utf编码的页面通常有如下两句开头:
这样写是没有问题的,可以如果调换这两句的顺序,ie就整个晕了,不仅分析不出title不说,
后面的分析也全乱了,由于不知道编码,报出乱七八糟的错误.
高版本的ie6解决了此问题,我的ie6.0.2900.2180存在问题.
总结到此,欢迎大家补充!
当然以上问题出现在目前应用较广的ie6上,ie7已经解决了大多数问题。
但试想如果没有那只火狐狸捣乱,我们能指望用上ie7么?
反过来也是一样,如果当年netscape一枝独秀,情况怕也好不到哪里去。
所幸世界正在向着多元化的方向发展。
下面就将我自己用IE的问题作个小结:
1.div 无法覆盖select 表单的问题
痛苦指数



解决办法:
各路大仙真是仁者见仁,智者见智,归纳起来主要有两种
a. 隐藏法
计算select附近的div,如果发现div重叠,就赶紧隐藏select,典型代表 :www.dynarch.com/projects/calendar/
b.替换法
干脆用div + table 重写个select得了
Ext做得不错,提供了对select的refresh方法 www.extjs.com
2.缺少有效的脚本调试支持
痛苦指数





对于B/S的 B端开发人员来说,脚本调试器简直就是小李手的小刀.
相对于firefox下的firebugaddons.mozilla.org/firefox/addon/1843
IE的解决办法就是安装庞大的 InterDev , 或者目前的.net frame,就算是这样的庞然大物,
程序无响应也是经常的事情.
解决办法:
偶的解决办法,就是写跨浏览器的脚本,在ff下调试完了再往IE下移。
如果只在IE下出问题咋办? ———alert!!!!!
3.低性能
痛苦指数



如果你用过这个www.scbr.com/docs/products/dhtmlxTree/index.shtml
如果你的书有上千个节点, 一定就会有所体会了,
在同一个页面里将几个图片重复利用几千次?
对不起,在IE中你不得不等待"xxxx"个图片正在下载。
我就弄不懂,同一个页面里的对同一个img的url引用,有必要每次都去检查更新么??
解决办法:
把访问策略设置为“自动”吧,第一次的慢嘛只好忍受了。
提及低性能,有个有趣的实验一定要做——将几千行的纯文本粘贴到 IE 的textarea中试试看,
一定会给你一个惊喜。
4.自作主张
痛苦指数



如果你调用getElementById,而ie未发现此id,那么它就会去找name为此id的元素并返回给你,不报任何错误。
解决办法:
写程序小心再小心
5.内存泄漏
痛苦指数





在页面中通过js反复创建和删去Div,ie6会出现内存泄漏,甚至重启ie仍然无济于事。
这个真是RIA的噩梦啊!!
RIA常用的手段就是利用div模拟窗口,因此div的创建和释放是最基本的操作。
解决办法:
参考Ext的destory机制
我的办法就是div复用,建一个就不放,重复利用。就算这样,由于窗口内容的刷新同样需要动态建立和释放html元素,
仍然存在内存泄漏。
6.兼容性差
痛苦指数


这个问题是前一段在客户那里发现的,微软2003拼音输入法,与ie下textarea的刷新冲突。
大家可以用下面这个最简单的页面看看效果
js 代码
当使用微软拼音2003的逐词提示,ie无法正确判断出刷新区域,干脆就将整个页面从背景到各层div逐个刷新的一遍。
导致屏幕狂闪。
让人哭笑不得的是,在firefox下居然一切正常。
7.容错性差
一个utf编码的页面通常有如下两句开头:
xml 代码
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- title>费力佩五世巧克力壶</title>
后面的分析也全乱了,由于不知道编码,报出乱七八糟的错误.
高版本的ie6解决了此问题,我的ie6.0.2900.2180存在问题.
总结到此,欢迎大家补充!
当然以上问题出现在目前应用较广的ie6上,ie7已经解决了大多数问题。
但试想如果没有那只火狐狸捣乱,我们能指望用上ie7么?
反过来也是一样,如果当年netscape一枝独秀,情况怕也好不到哪里去。
所幸世界正在向着多元化的方向发展。
评论
careprad
前天
深有同感
关于树的问题 我自己写的树 在ie上极限是7000节点 ,主要瓶颈就是图片,原来图片放在包里,写个缓存机制服务端客户端都缓存,发现最快的还是静态图片链接,由容器直接处理,而火狐却依然很快,我也没有再测
网上的梅花雪树“一次性”加载却没有懒加载的要求,像csdn上的树就是用它做的,感觉怎么那么一点就很慢似的
关于树的问题 我自己写的树 在ie上极限是7000节点 ,主要瓶颈就是图片,原来图片放在包里,写个缓存机制服务端客户端都缓存,发现最快的还是静态图片链接,由容器直接处理,而火狐却依然很快,我也没有再测
网上的梅花雪树“一次性”加载却没有懒加载的要求,像csdn上的树就是用它做的,感觉怎么那么一点就很慢似的
kimmking
2008-07-14
ie8 和 ie6确实不兼容了
kimmking
2008-07-14
IE可以用vs。net自带的调试工具
是目前最好用的js调试工具。
是目前最好用的js调试工具。
trains629
2008-07-14
真是严肃的问题,做了些日子跨浏览器程序开发都要疯了。在ie8下的,在ie6
下怎么都出错。
做ie开发就要本着没有特效,没有脚本,没有firefox兼容。
下怎么都出错。
做ie开发就要本着没有特效,没有脚本,没有firefox兼容。
kimmking
2008-05-21
总结的不错
1、大量的节点,需要ajax,至少也要是延迟加载
2、js调试,.net带了一个调试器,很棒,一级棒,可以断点,监视,条件,单步,查看所有变量,甚至可以倒退(这个一般言语的开发IDE都没有)。
缺点:目前好像只能调试IE,而且不能查看com对象或是activex的属性。
1、大量的节点,需要ajax,至少也要是延迟加载
2、js调试,.net带了一个调试器,很棒,一级棒,可以断点,监视,条件,单步,查看所有变量,甚至可以倒退(这个一般言语的开发IDE都没有)。
缺点:目前好像只能调试IE,而且不能查看com对象或是activex的属性。
saysoc
2008-01-12
IE最受不了的就是打开几个页面就没响应了,自动重启,IE7更严重
afcn0
2008-01-12
c#也是用c写出来的
mllee
2007-12-25
IE也有调试工具,在google上搜一下“Windows Script Debugger”。
afcn0
2007-12-25
一般楼上这样说都是据说,这样很不可信,只由自己测试
jellyme
2007-12-25
据最新的测试表明,貌似IE7的Javascript性能很好,而且,又有消息指出,IE8的Strick模式已经完全通过了Web标准化测试。
如果说有人可以左右“标准”,那么,我想它应该会是“IE”。此外,既然连IE都在往标准的道路上靠近,我们就更加没有理由不想信它会做的很好了。
如果说有人可以左右“标准”,那么,我想它应该会是“IE”。此外,既然连IE都在往标准的道路上靠近,我们就更加没有理由不想信它会做的很好了。
flash
2007-12-25
yueguangyuan 写道
IE令人讨厌之处就是自己封装了太多东西,搞个什么ActiveX,Linux上最反感的就是那个令人伤心的网银,刚好黑客最喜欢黑ActiveX。
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE :P
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE :P
是的是的.我以前用linux一年.后来实在坚持不下去了.原因就两个:网银不能用.淘宝旺旺不能上.
flash
2007-12-25
BaSaRa 写道
FF在欧洲推广速度很快,某些地方甚至到达49.7%的市场占有率,当然这个数字可能有假,但是还是建议兼容FF
别拿欧洲说事.这里是中国.只要在IE上跑起来,很少有客户会挑毛病.
heimu
2007-11-28
第一个div覆盖select在ie7里应该已经没问题了吧。
afcn0
2007-11-27
如果你对ie失望了,那就请你替换所有ie为firefox或safari opera吧,只要你用过的电脑,请都装上这些,做的到吗
newlife01
2007-11-27
IE的JS调试没用过,一般凭个人经验结合alert调试程序,和楼主一样,对IE我彻底失望 了..
blueaqua
2007-11-16
IE上运行的JS性能低下,以及内存泄漏等,主要原因是由于IE的内存垃圾回收机制问题造成的,创建的对象越多,速度就越慢。
http://ajaxian.com/archives/garbage-collection-in-ie6
所以在IE上,尽可能少的创建对象(尤其是DOM对象)才是解决效率问题最关键的手段。
如果无法避免创建DOM对象,自己总结了几点:
1、IE提供了许多非DOM标准的方法,有些方法的效率要比标准DOM方法高很多,尽可能使用这些方法。
2、对象使用过后及时释放(将变量设为null),可以减少内存泄漏,也可能帮助提高性能。
http://ajaxian.com/archives/garbage-collection-in-ie6
所以在IE上,尽可能少的创建对象(尤其是DOM对象)才是解决效率问题最关键的手段。
如果无法避免创建DOM对象,自己总结了几点:
1、IE提供了许多非DOM标准的方法,有些方法的效率要比标准DOM方法高很多,尽可能使用这些方法。
2、对象使用过后及时释放(将变量设为null),可以减少内存泄漏,也可能帮助提高性能。
zcfg
2007-11-15
IE下也有类似Firebug的Dom Inspector,一个叫ViewPage的插件,还不错.不过感觉还是先FF再移向IE比较好.
hax
2007-11-13
mcpssx 写道
没有FF之前,兼容什么?
虽然我也基本以FF为主,
但这个做法明显是以自己的喜好代替大众的选择!
虽然我也基本以FF为主,
但这个做法明显是以自己的喜好代替大众的选择!
你的这个说法是以自己的臆想代替真实的数据。
java-007
2007-11-13
我现在有两个浏览器,一个IE,一个火狐,
IE是用来上网用的,火狐是用来编程用的,
各取其优势,弃其劣势,编程生活很和谐!
IE是用来上网用的,火狐是用来编程用的,
各取其优势,弃其劣势,编程生活很和谐!
fyting
2007-10-22
yueguangyuan 写道
IE令人讨厌之处就是自己封装了太多东西,搞个什么ActiveX,Linux上最反感的就是那个令人伤心的网银,刚好黑客最喜欢黑ActiveX。
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE :P
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE :P
得,用w3m上网就好了,啥都不封装。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 38728 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最新评论
-
拿什么拯救你,我的ie
深有同感 关于树的问题 我自己写的树 在ie上极限是7000节点 ,主要瓶颈就 ...
-- by careprad -
拿什么拯救你,我的ie
ie8 和 ie6确实不兼容了
-- by kimmking -
拿什么拯救你,我的ie
IE可以用vs。net自带的调试工具 是目前最好用的js调试工具。
-- by kimmking -
拿什么拯救你,我的ie
真是严肃的问题,做了些日子跨浏览器程序开发都要疯了。在ie8下的,在ie6 下怎 ...
-- by trains629 -
拿什么拯救你,我的ie
总结的不错 1、大量的节点,需要ajax,至少也要是延迟加载 2、js调试,. ...
-- by kimmking






评论排行榜