要说这Internet Explorer 6,那简直是咱们这帮老程序员、老网民心头的一根刺,也是一道疤。现在回想起来,它能被淘汰,那真是一点都不冤,甚至可以说,迟早的事儿。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu
我算是比较早一批接触网页制作的,那时候刚毕业没多久,兴冲冲地觉得自己能写代码、做网站,多牛!结果一头扎进去,才发现有个大坑等着我,那就是IE6。那时候,几乎所有人上网都用它,你想想,微软捆绑销售的,Windows一装它就在那儿了,傻瓜式操作,不用自己折腾,用户量自然就大了。
刚开始做页面那会儿,我还没啥经验,写好一套CSS,在自己的浏览器里看挺结果一上传到服务器,领导或者客户一打开,好家伙,页面全乱了套,图片错位,文字重叠,整个一稀巴烂。我就纳闷了,我本地看的好好的,怎么到他们那里就不行了?后来才慢慢摸清楚,妈的,就是IE6这玩意儿在捣鬼!
IE6,多少前端人的噩梦
- 盒子模型:当年做前端的兄弟姐妹们,谁没被IE6的盒子模型折磨过?你给一个设置个宽度和内边距,在标准浏览器里,内边距是加在宽度外面的,结果IE6倒直接把内边距算进宽度里头去了。这特么怎么玩?一个页面出来,样式不一致,你得专门写一套给IE6的CSS hack,或者专门加一堆条件注释,简直是脱了裤子放屁,多此一举。每次都要想尽办法去“骗”它,比如用
_width,用width,用zoom:1来触发它的hasLayout,想想都头大。- 浮动和清除浮动:还有那浮动,浮动元素一多,各种莫名其妙的bug就出来了,父元素高度不自适应,子元素跑到边框外面去了。清除浮动,在标准浏览器里一个
overflow:hidden或者clearfix就搞定了,IE6里你得给父元素加个zoom:1。这都是啥玩意儿?- PNG透明:我记得那时候做设计,经常会用到透明的PNG图片。设计师那边做得漂漂亮亮的,到我这边一往页面上放,IE6直接给我把透明的地方变成了灰色或者黑色。那时候没法子,只能用滤镜,比如
filter:progid:*,一段长长的代码,写起来贼麻烦,还影响性能。- JavaScript兼容性:JS那块儿,IE6也是奇葩。事件绑定方式不同,
addEventListener人家根本不认,你得用attachEvent。还有内存泄露问题,当年做AJAX应用,IE6里如果处理不页面跑久了内存蹭蹭往上涨,直接卡死。那时候为了搞定IE6,我们前端开发的一半时间都花在了兼容性上面。- 安全性问题:说真的,IE6这玩意儿漏洞是真的多。ActiveX控件,本来是为了方便扩展功能,结果被一些流氓软件钻了空子,你一不小心点个链接,电脑就给你装一堆垃圾,弹窗广告满天飞,杀毒软件都拦不住。用户怨声载道,骂完流氓软件,也顺带把IE6骂了一顿。
那时候,咱们这帮搞开发的,简直是苦不堪言。每次做完一个页面,心里就咯噔一下,IE6上能跑吗?能跑是啥样?每次上线前,必备的测试环节就是找一台装了IE6的电脑,或者开个虚拟机,进去瞅瞅,看看又有什么地方崩了。
新时代的降临,老家伙终究扛不住
后来情况慢慢开始变了。大概是04、05年那阵子,Firefox开始冒头了,速度比IE6快,对标准支持也更再后来08年Google Chrome也出来了,那速度是真快,界面也简洁,关键是它对网页标准的遵循程度高,我们前端写一套代码,基本上在Chrome和Firefox上都能跑得很漂亮,就IE6那个老顽固,非得搞特殊。
用户也慢慢尝到了甜头。大家发现,原来上网还可以这么流畅,网页还可以这么漂亮,不用整天被IE6那些稀奇古怪的问题困扰。于是慢慢地,就有很多人开始放弃IE6,转投Firefox和Chrome的怀抱。
我记得特别清楚,大概是10年左右,我们公司接了个大项目。项目经理召集大家开会,讨论技术方案。前端的哥们儿们个个苦着脸说,老板,这回能不能别兼容IE6了?项目周期那么紧,要是还为了IE6去改代码、调样式,我们根本来不及。当时老板也犹豫了,毕竟客户那边还是有部分IE6用户。后来经过一番激烈讨论,最终拍板决定:这回新项目,主要针对现代浏览器,IE6只做基本兼容,不保证完美显示,也不专门为它优化。当时听到这个消息,我们前端团队简直是欢呼雀跃,感觉像是被大赦了一样!
从那以后,越来越多的公司、网站都开始放弃IE6。有些网站直接在IE6上弹个提示,让你升级浏览器;有些网站干脆就不管IE6了,直接让它乱着。那时候,我看到这种现象,心里别提多痛快了,感觉就像看着一个顽固的老头,终于被时代的洪流给冲刷走了。
IE6的淘汰,是整个互联网向前发展的一个必然结果。它在那个年代,确实是霸主,但它的技术陈旧、对网页标准支持差、安全漏洞多,严重阻碍了互联网技术的发展。当更优秀、更符合标准的浏览器出现时,它自然就失去了竞争力。这个老家伙被淘汰,是开发者的福音,也是广大网民的幸事,标志着一个旧时代的结束,一个新时代的开始。
- 浮动和清除浮动:还有那浮动,浮动元素一多,各种莫名其妙的bug就出来了,父元素高度不自适应,子元素跑到边框外面去了。清除浮动,在标准浏览器里一个