`

拿什么拯救你,我的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的刷新冲突。
 大家可以用下面这个最简单的页面看看效果
js 代码
 
  1.   
  2.   
  3.   
  4.   
  5.   
  6.   
  7.   
  8.     

     

      
  9.   
  10.   
  11.   
  12.   
  13.   

 当使用微软拼音2003的逐词提示,ie无法正确判断出刷新区域,干脆就将整个页面从背景到各层div逐个刷新的一遍。
导致屏幕狂闪。
 让人哭笑不得的是,在firefox下居然一切正常。

7.容错性差
 一个utf编码的页面通常有如下两句开头:
xml 代码
 
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  2. title>费力佩五世巧克力壶</title>  
这样写是没有问题的,可以如果调换这两句的顺序,ie就整个晕了,不仅分析不出title不说,
后面的分析也全乱了,由于不知道编码,报出乱七八糟的错误.
高版本的ie6解决了此问题,我的ie6.0.2900.2180存在问题.


总结到此,欢迎大家补充!
当然以上问题出现在目前应用较广的ie6上,ie7已经解决了大多数问题。
但试想如果没有那只火狐狸捣乱,我们能指望用上ie7么?
反过来也是一样,如果当年netscape一枝独秀,情况怕也好不到哪里去。
所幸世界正在向着多元化的方向发展。
 
分享到:
评论
38 楼 zcfg 2007-11-15  
IE下也有类似Firebug的Dom Inspector,一个叫ViewPage的插件,还不错.不过感觉还是先FF再移向IE比较好.
37 楼 hax 2007-11-13  
mcpssx 写道
没有FF之前,兼容什么?

虽然我也基本以FF为主,

但这个做法明显是以自己的喜好代替大众的选择!


你的这个说法是以自己的臆想代替真实的数据。
36 楼 java-007 2007-11-13  
我现在有两个浏览器,一个IE,一个火狐,
IE是用来上网用的,火狐是用来编程用的,
各取其优势,弃其劣势,编程生活很和谐!
35 楼 fyting 2007-10-22  
yueguangyuan 写道
IE令人讨厌之处就是自己封装了太多东西,搞个什么ActiveX,Linux上最反感的就是那个令人伤心的网银,刚好黑客最喜欢黑ActiveX。
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE 

得,用w3m上网就好了,啥都不封装。
34 楼 linxizeng 2007-10-22  
笨笨狗 写道
我们的目标就是,尽量兼容ff和ie……


兼容,谈何容易...

可是客户用IE的还是比较多。。。目前都是FF调试,最后以IE为主,如果不行兼得...IE为主
33 楼 ykai 2007-10-22  
ie有贡献的,就是功能丑了点
他拥有华丽的外表,却没有一颗蹦腾的心
32 楼 daminggege 2007-10-18  
都是挺现实的问题, 最近做的工作, 画图, ff有<canvas>, ie没有用vml模拟, 用excanvas做桥, 在作者的blog上看到性能差6-7倍, 当图的内容bt点ie就像20帧的cs了, 彻底没法玩
31 楼 yueguangyuan 2007-10-15  
厄,扯远了吧,讲功绩,微软还不是靠的捆绑,打倒NetScape,而且Mozilla前身不就是NetScape么?
微软自己罢着浏览器最直接的后果就不思进取,xmlhttp是它搞的没错,但它搞出来又没发挥什么价值,直到别人都用了,它自己才缓过神来追
30 楼 afcn0 2007-10-15  
ls的别那么说,要是没有ie其实mozilla也就出不来了,更别说firefox了,要是没有ie引入xmlhttp什么的,那估计gmail什么的也就出不来了,你说不是吗,可以说没有ie6就没有web的今天,我看是这样的,当然我也是很希望ie6今天彻底消失,大家都ie7,哈
29 楼 yueguangyuan 2007-10-15  
IE令人讨厌之处就是自己封装了太多东西,搞个什么ActiveX,Linux上最反感的就是那个令人伤心的网银,刚好黑客最喜欢黑ActiveX。
还有就是国内更多的网站都是IE Only,很多网站都显式不正常,这个只能等待国民素质慢慢提高,盗版少了,自然而然的IE的统治地位就会下来
我们公司开发时都是先兼容FF,然后才会考虑IE 
28 楼 hax 2007-09-18  
afcn0 写道
但是象gmail google maps这些普通应用,ie肯定还是主流,至少6成,上javaeye估计ie也得6成


javaeye的情况,我们问robbin吧!
27 楼 network-eagle 2007-09-18  
大数据量的树型菜单  推荐用xtree吧...可以实现分布加载.并且二 三次运行都是先读的缓存.数据就快多了
26 楼 afcn0 2007-09-16  
但是象gmail google maps这些普通应用,ie肯定还是主流,至少6成,上javaeye估计ie也得6成
25 楼 afcn0 2007-09-16  
客户群存在导向,google reader或者使用分类服务,客户很大程度了解web,知道ff的东西要比ie6支持更多,很可能使用ff来使用一些web应用,自然70%就很正常,其实象meebo google word calender这些统计下useragent分布,估计ie占少数,这些应用估计都很在乎useragent统计分布吧
24 楼 gwallan 2007-09-16  
其实关于调试,现在来说已经不是什么很大的问题了,在IE中可以在脚本中用debugger,然后使用VS2005来调试,很直观的。我现在利用DOJO开发项目,对于它里面的那种异步加载进来的脚本文件也能很好的跟踪,但是在FF下用FIREBUG就跟踪不了
23 楼 kamiiyu 2007-09-16  
我想只要坚持用ff一星期的人,这辈子不会再用ie

firebug的确很好用
22 楼 hax 2007-09-15  
最近透露出来的信息,google reader 70%的用户使用FF。而google reader是目前占市场份额最大的在线feed阅读器。

可以得出一个结论,用户群体存在一个割裂的现象。而如果你估计你的用户群体与google reader比较接近,那就绝对不能忽略FF,否则肯定死的很惨。
21 楼 wf_chn 2007-09-15  
FF和IE7都会好点
只是现在就开始放弃IE6的话,客户不会答应的
20 楼 笨笨狗 2007-09-13  
我们的目标就是,尽量兼容ff和ie……
19 楼 payback 2007-09-13  
FF做调试是不错 但是有些标准跟IE不一样 开发人员用FF的也许不少 但是普通用户大多还是用IE-.-

相关推荐

    Windows XP还在假死-IE补丁意外拯救世界.docx

    《Windows XP假死问题与IE补丁的意外解决方案》 Windows XP操作系统,尽管早已被微软宣布停止技术支持,但在全球范围内仍有部分用户在使用。这款操作系统的一些顽固问题,如“假死”现象,一直是困扰用户的难题。...

    5种方法帮微软拯救WinRT.docx

    在现代开放的互联网环境下,强迫用户使用IE浏览器可能会引起反感。微软应当拥抱开放性,允许用户选择Chrome或Firefox等其他浏览器,这将有助于提高WinRT系统的用户满意度。 最后,微软应充分利用其在游戏领域的优势...

    300个注册表优化修改文件

    个性化你的IE和OUTLOOK : 点击浏览该文件 打造个性化的IE.reg 定制IE的文字大小.reg 定制IE字体的大小.reg 改变IE的默认下载目录.reg 更改Outlook Express的标题栏.reg 解决IE首页无法更改的问题.reg 禁止...

    屠恶助手(Kill Virus Helper) v1.0

    本工具为杀毒辅助工具,用来清除各类恶意软件、手动辅助清除新病毒等,特别是[进程管理],... 屠恶是为了拯救杀软! 本工具由五个独立的部分组成,[优盘监控] [映像劫持清理] [清管理IE流氓] [进程管理] [强力删除DLL]

    Really JavaScript!——Douglas Crockford大师见面会报道.pdf

    JavaScript语言的发展初期曾经被人误解,认为它不能拯救Web应用。然而,Ajax的出现让网络应用出现了一线曙光,也给JavaScript重新焕发生命力的机会。 3. JavaScript的优点:JavaScript在事件驱动模块中表现得很有效...

    httpwatch pro9.4.17破解版(附license).rar

    拯救 按Ctrl + Shift + S 导出到XML 按Ctrl + Shift + X 导出到CSV 按Ctrl + Shift + C 全部折叠 按Ctrl + Shift +左箭头 展开所有 按Ctrl + Shift +右箭头 清除缓存和cookie Alt +删除 清除缓存 Alt + C 清除所有的...

    由0晋升200%系统高手

    实例5:拿什么来拯救你—硬盘损坏与坏道修复全接触 实例6:把大象装进冰箱—700MB刻录盘也能备份DVD 实例7:一个命令搞定Ghost备份与恢复 实例8:输入法图标故障修复两则 实例9:把个人数据轻松移出危险地带 ...

    海康威视磁盘阵列使用说明.doc

    阵列重构是对于已经存在的阵列中,某个物理盘出现不稳定或者出现故障的情况下,为了拯救出故障硬盘中的数据而设定的,以达到保护数据和恢复阵列的完整性。管理员需要开启自动重构,然后输入阵列名称并选择 1 块可用...

    方正ABS安全系统手册

    - **数据拯救**:提供在Linux模式下恢复丢失数据的功能。 - **修复客户端**:针对客户端软件的修复工具,保障客户端应用程序的稳定运行。 - **杀毒**:包含Linux模式下的杀毒功能,支持快速杀毒、高级模式杀毒以及...

    图片自动切换

    在这个案例中,我们关注的是一个兼容IE6以及Chrome、Firefox等现代浏览器的实现方法。 首先,"demo.html"是主页面文件,它包含了整个图片切换功能的HTML结构。在HTML部分,我们可能会看到`&lt;div&gt;`元素用于包裹图片...

    电脑常见故障与解决方案..pdf

    - IE浏览器错误可能需要清除缓存、重置浏览器或安装更新。 - 宽带连接问题通常涉及网络设置或运营商服务,检查网络连接和拨号设置。 7. **电脑病毒与木马故障**: - 安装防病毒软件进行全盘扫描,修复或隔离病毒...

    软件名人,奋斗目标<ppt>

    Blake Ross,火狐浏览器的年轻开发者,19岁便开发出这款广受欢迎的浏览器,挑战了微软IE的市场地位,展现了新一代程序员的活力和创新能力。 Gavin King,Hibernate和JBoss Seam的负责人,他的成功故事表明,即使是...

Global site tag (gtag.js) - Google Analytics