当前位置: 首页 > Web前端 > HTML5

换个角度看IE,真的有那么糟糕吗?

时间:2023-04-05 16:55:00 HTML5

提到IE,我想很多网友都避而远之。对于IE没有经验的同学来说,可以说是更加讨厌了。我也有同感,去年我的生日愿望是,希望世界上没有IE浏览器。本文是一篇追溯历史,收集IE在web上的贡献情况的非干货文章。如果有幸被转发分享到其他平台(非顺丰),请到segmentfault查看,或者关注我的github。同时也希望大家能指出文章中的不足之处并进行补充,万分感谢。在web3(netspace3&ie3)时代,事件冒泡就已经存在了。就是为了减轻服务器的压力。后来开发者发现了一个有趣的问题,就是一个在一个同心圆里。如果事件是触发事件,我该怎么办?IE依然秉承着优良传统。不管别人怎么做,我先解决,然后就出现了事件冒泡的概念。随后,NetspaceNetscape也提出了自己的解决方案,与IE刚好相反(有可能是两兄弟不服气,反目成仇)。它提出了事件捕获理论,即从外到内直到触发元素,进而触发事件。虽然现在w3c标准把两者都纳入了规范,但是我们大多数人还是比较喜欢冒泡,所以这个IE思路不错,你牛逼。Ajax90年代的所有网页都是单独的文本页面,每次交互都需要向服务器请求一个新的页面来显示信息。随着web的不断发展,访问量不断增加,服务器受到的影响也越来越大。当时用java嵌入了一个小程序(JavaApplet),可以动态更新页面内容。个人认为java小程序过于繁琐,为了维护统一的平台语言,IE的OutlookWebAccess团队后来将iframe嵌入到HTML中实现了局部刷新,很快就发布了客户端HTTP请求。在当时,这是第一个可以在不刷新页面的情况下主动发送HTTP请求的技术,并很快被应用到IE4上。今天,从ActiveXObject、XHR、Fetch,技术一直在向前发展,但还是离不开AJAX的概念,所以IE开了个好头(就是没找到)。标准模式和混合模式IE5.5最开始使用标准模式和混合模式,可能是因为自身(你懂的)原因,面对规范和自己的低版本浏览器(和规范有很大区别,如果完全支持specification,如果用户更新浏览器,它会完全崩溃)无法集成,所以这部分留给开发者来处理,让我们选择什么浏览器模式来处理。IE没有其他方法可以做出此决定。如果偏离了规范,那就真的变成独足了。如果支持的话,又要顾及低版本的浏览器,所以这种方式无疑是最好的。正因如此,当时的其他浏览器,IE先声夺人,其他??浏览器纷纷效仿。这也算是IE抢先一步,提出了不同规范下的兼容模式。率先使用CssIE6率先全面支持css-Level1,支持(class,id)选择器,后代选择器,a:-only伪选择器,详情请看这篇文章。webApp微软早在IE3就已经开始将网页集成到桌面。也正是因为这件事让美国政府极度不满,才引发了美国诉微软案。虽然确实有点垄断、阴谋的感觉,但站在用户的角度,这确实是个好主意。这么多年了,我们还在追求SPA,PWA,想要更贴近原生应用,但是这些FeatureIE都已经实践过了,再看看之前的服务端渲染。在体验了各种新玩法后,发现了新世界“SSR”。我不禁暗自叹了口气。技术是一个圆。这一圈,造轮子,造轮子,造轮子。说实话,IE最大的优势就是可以下载Firefox和Chrome浏览器。哈哈,对不对,它对web的发展贡献太大了。尽管曾经偏执于兼容性问题,但现代版的IE一直在关注W3C,希望有一天我能像Gecok和Blink一样高效积极地积极支持该规范。如果您知道IE的特别之处,请告诉我。