我们大家熟悉的 IE 浏览器经过更新换代,目前已经更新到 IE11,而程序员多年唠叨的“IE 必须死”如今似乎要成为现实了。本文将回顾 IE6 和 IE8 消亡的历史,预测如何更好地“干掉” IE11。

作者 | Mike Shreov

译者 | 胡雪蕊,责编 | 屠敏

出品 | CSDN (CSDNnews)

以下为译文:

“IE必须死。”

这句话多年来一直被无数的软件开发者唠叨,但是现在这句话真的要成为现实了。IE11是最后一款不支持ES6的主流浏览器,而ES6是JavaScript的一项重大更新。Web一直秉承着渐进式增强的原则,所以通常情况下这不是什么问题。但是现在一般的JS应用程序都使用来自NPM的软件包,这样我们所处的境地就比较奇怪了。虽然我们自己的程序代码是用ES6+编写的,但是我们依赖的大多数模块仍然把IE11和ES5作为目标,这就使得代码体积变大,并且需要很多的polyfill。IE11 必须死,这样模块编写者就可以默认使用小型的、更快的ES6,这对我们所有人都有好处。

为了彻底理解如何杀死IE11,我们需要回顾一下之前两款IE浏览器的命运,也就是IE6和IE8。通过研究之前杀死浏览器的策略,我们可以判断如今使IE11落幕的策略。我们可以预测并宣传我们最终采取的办法,这样可以将JS社区从ES5 的负担中解放出来。

谁“杀死”了IE6?

2009年,微软遇到了一个大麻烦。IE7已经发布,IE8正要发布,而这时IE6的市场份额还是异常得高。在这种情况下,IE6就成为微软的一个糟糕的品牌,这也是自2001年IE6发布以来其所占主导期间web停滞不前的一种象征。IE6已经明显落后于Firefox和Chrome,这两款浏览器已经开始严重剥削IE的主导市场。使这个问题变得复杂的是,许多企业的Windows客户端需要继续使用IE6或IE7,这样就构建了许多web 应用程序来满足他们的这些癖好。微软需要一种方法来埋葬IE6,使得企业能够继续支持其业务。

一号嫌疑人:自动升级到IE8

微软深知其用户不能升级系统,所以其在2009年7月宣布将通过Windows升级自动将IE6和IE7升级到IE8。与此同时,微软还为企业用户提供了两项可供支持手段:一是组织自动升级的能力,另外一个是“兼容模式”,这指的是允许在破碎的IE8页面上使用IE7的绘制引擎。那么微软成功了吗?资料显示,6月9日到7月9日,IE6的使用率一举从24.6%下降到15.6%。多家媒体报道,这次下降是由于YouTube的网页横幅要求用户将IE6升级到其他浏览器。尽管这可能说服了一些用户,但大家都知道自动升级才是这次变化的主要原因,而不是因为员工要求老板升级。

二号嫌疑人:IE6倒计时

2011年3月,自动升级到IE8已经产生了重要的影响,但是全球IE6的使用率仍高达12%,所以微软开展了一场营销活动,以获得杀死IE6的支持。向IE6告别的ie6countdown.com网站上线,跟踪其消亡的路径,并向世界宣布微软自己不再需要它了。他们的目标是全球的IE6使用率达到1%以下。截止到2014年6月,IE6的使用率仍高达3.8%,不过这已经有一丝希望了,那就是大多数国家的使用率达到1%以下,只有中国仍徘徊在12.5%。为了让全世界IE6的使用率达到1%,必须采取措施迫使中国用户升级。

三号嫌疑人:POODLE

当时大多数网站都支持SSL和TLS,这两种独立的协议用于增强https://的连接,TLS是一种更加安全,更现代的协议。这一切都在2014年10月14日发生了改变,当时谷歌安全小组宣布他们发现了一种名为POODLE的新的漏洞。POODLE能够呈现出SSLv3支持的所有密码,这就意味着SSL本身就已经不安全了。像Twitter这样主要的网站和Cloudflare 等主要的CDN都禁用SSL。任何不能使用TLS的浏览器,比如IE6,都不能连接这些网站。这是对IE6的最后一击。截止到2014年11月,全球IE6的使用率为1%。

判决

可以说IE6 自动升级到IE8对IE6的使用造成了严重的影响,但是POODLE最终使得浏览器停止运行,这造成许多主流网站不能连接到IE6。下面我们将IE6和IE8进行比较,看看IE8的命运如何?

谁“杀死”了IE8?


如果说IE6的终结令人沮丧,那么IE8的消亡简直让人抓狂。是的,IE8比IE6先进了不少,但IE8被描述为最后一个被称为“旧IE”的浏览器。IE8仍然包含许多非标准浏览器API,不支持ES5,缺少大部分HTML5,并且没有内置控制台。如果你还记得html5shiv、ES5-shim、ES5-sham或警报驱动开发,那么你就能理解当年这种痛苦了。作为参考,当jQuery最终放弃IE8时,它的大小下降了30%。对于Web开发社区来说,幸运的是,IE8的替代选择给了我们希望,它终有一天不再困扰我们。

一号嫌疑人:IE9

既然IE8有助于IE6的终结,那么你可能会说IE9有助于IE8的消亡。不幸的是,你错了。对于IE6,人们一直希望它能够通过简单地升级消亡,因为它不是“终端浏览器”。终端浏览器要在底层操作系统的更新基础之上才能更新。可悲的是,IE8是Windows XP的终端浏览器。也就是说,如果你想将IE8更新到IE9,你必须购买Windows Vista。没错,你可以免费获得Firefox或Chrome,但是要想使用IE9,你必须花钱购买Windows Vista或新电脑。鉴于这点,IE9和IE8的消亡没有什么关系。

二号嫌疑人:Chrome

可以得出更加明显的一个结论是Google Chrome杀死了IE8。从某种方式来看,这是正确的答案。Chrome自2008年发布以来市场份额就一直在增长,谷歌在包括其主页上全部都贴上了Chrome下载提示,而其主页当时是互联网上访问量最大的页面。再加上常青发布策略和几项赶超当时其他浏览器所做的创新,Chrome成为了一股不可阻挡的力量,获得了大量的市场份额。然而,这顶多可以说是一种缓慢的转变。从2011年5月29%的峰值开始,直到2016年9月IE8的全球占有率保持在1%以上。

三号嫌疑人:TLS 1.0/1.1否决

PCI安全标准委员会是负责帐户数据保护安全标准的机构。如果你想从应用程序中接受信用证书,你可能已经做了一次PCI合规性审计。2017年6月30日,PCI SSC宣布,自2018年6月30日起,为了合规必须禁用TLS1.0,并且强烈建议不要使用TLS 1.1。从某种意义上说,像POODLE这样所带来的冲击,迫使行业逐步转向更强大的安全协议。许多CDN和网站随之效仿起来,并放弃了TLS1.0和1.1,这与宣布POODLE时他们放弃SSLv3的方式类似。与IE6不支持TLS一样,IE8只支持TLS 1.0和TLS 1.1,并且也被这些网站切断了连接。历史再次上演,更强大的安全措施阻止了IE在互联网上的广泛应用。但是,这次IE8已经低于互联网流量的1%。TLS的否决可能给IE8的棺材上了最后一颗钉子,但那时它已经死了。

裁决

IE8似乎要慢慢地死在Chrome手中,作为XP的默认浏览器,IE8注定要与XP一同没落。

怎样才能不杀死IE11?


总的来说,我们从IE6和IE8那里学到一些策略,这些策略可以运用到IE11中,但却无法奏效。

×像IE6倒计时的营销活动:在我看来,这只不过是告诉全世界微软已经准备好继续前进,只不过没什么效果。另外,微软已经向全世界宣告不要再用IE11了。

×其他浏览器占据市场份额:Chrome已经占据了多年的主导地位。在这个时间点上,IE11的图表占有率看起来像是IE8的……也就是说,竞争对手正在以缓慢而稳定的速度吞噬它们。我们在此无能为力。

×增加安全要求:E11支持TLS1.2,在未来的多年里,它可能不会被弃用。除非TSL1.2中存在漏洞,否则不会导致其过早死亡。此外,祈祷TLS中存在杀死IE11的漏洞是不道德的想法!然而,我们已经看到,过早实行否决的大型网站可能会对整个互联网产生巨大的影响。

所以我们应该如何做才能杀死IE11呢?什么方法才能最终使我们从ES5中解放出来?什么能够杀死最后一个真正的终端浏览器?

干掉IE11!


事实证明,唯一真正起作用的是自动升级。为了实现这一点,我们认为IE需要的是非终端,正如IE6那样。我们还知道,替换浏览器需要一项计划来安抚现有的企业用户,正如兼容模式中那样。那么,假如用微软 Edge替代IE11,我们的前景会是怎样的?

在写本文时,IE11是Windows7、8和8.1上的终端浏览器。幸运的是,随着Chromium成为微软Edge的绘制引擎,Edge会出现这些版本的Windows。事实上,预览版本已经可以用了。这样,这些平台将有机会自动将IE11升级到Edge。

尽管这一前景令人兴奋,但仍然有企业顾客需要IE11的兼容性,这些企业是IE11剩余市场的一大部分。微软再次走在我们前面,并且已经宣布在Windows7,8和8.1上的Edge将会有“InternetExplorer模式”,这就使得IT管理员使用安全/阻止列表在网站上利用IE11呈现,剩下的互联网内容用Chromium呈现。

这给我们留下的是什么?尽管现在技术上是可信的,但是微软已经宣布停止IE11到Edge自动升级的计划。所有的迹象表明这是我们用IE11做的最好的尝试。

开发者还能采取哪些行动?

所以,我们能做什么?

首先,我们已经看到市场领导者放弃技术会对浏览器的使用造成一定影响。这里关键在于技术必须要弃用(比如SSLv3),并不只是建议弃用(比如YouTube的IE6横幅)。虽然建议Google、Facebook等屏蔽IE11是难以想象的,但一旦Edge支持旧版Windows,那就没有理由不去进行更新了。这也会给微软的自动升级增加压力。你(没错,就是你)可以声明一旦Edge支持旧版Windows,你就可以决定屏蔽IE11,并支持这项行动。

第二,你可以询问你最喜爱的开源软件包是否以及何时计划放弃ES5。但记住态度要好些,只是好奇地问一下,不要提要求。开源维护者不欠我们任何东西,但是礼貌地让他们放弃ES5可能有助于开启对话,并顺利实施。

最后,你可以使用#killIE这个标签在社交媒体呼吁自动升级。微软一直与Web社区密切合作,所以公开讨论这个问题,让社区放弃对IE支持的计划很可能是一个转折点!

如果我们成功了,我们会回过头来说“微软通过自动升级到Edge而杀死了IE11。”最后,我们将停止编译到ES5了,在一些情况下,全部停止编译;最后,我们将不再向浏览器发送不必要的polyfill。最后,我们每个地方都会使用ES6。这样最终,Internet Explorer会死掉。

原文:https://mike.sherov.com/ie11-countdown/

本文为 CSDN 翻译,转载请注明来源出处。

【END】

 热 文 推 荐 

☞ 字节跳动入局全网搜索;思科回应中国区裁员;IntelliJ IDEA 新版发布!| 极客头条

☞Vim 激荡 30 年发展史

☞网易云音乐工程师,亲自揭晓消息队列改造之路! | 技术头条

90 后程序员薪资大揭秘:有人刚毕业年薪 200 万,有人月薪不足 1 万

一文读懂Bakkt:加密货币的纽交所

学阿里中台,80%的人只学到了皮毛!揭秘阿里中台的12个架构思维和原则

☞ 真正适合小白的教程:Python有什么用?数据化运营怎么做?

中科院、百度研究院等联合提出UGAN,生成图片难以溯源

为什么雷军说“华为不懂研发”?

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

汲取 IE6、IE8 消亡的经验,如何“杀死” IE11?相关推荐

  1. 屏蔽JS错误提示 IE6 IE8

    <script language="JavaScript"> function killErrors() { return true; } window.onerror ...

  2. GhostXP_SP3会员专用版V4.0【IE6+IE8】

    系统格式:NTFS  本版系统专为999宝藏网会员打造,快速稳定.极度纯净.仅供论坛技术交流.学习!   本系统不带常用软件安装包,不含任何第三方浏览器.无多余插件!常用软件请自行下载安装!  ▂▂▂ ...

  3. JS判断浏览器IE6、IE7、IE8、IE9、IE10、IE11、Chrome、Firefox、Safari、Opera方法,亲测可用

    <script>function myBrowser(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOp ...

  4. 一行代码解决IE6~IE8以及IE兼容模式下的兼容问题

    之前写代码直接是 ! + Tab, 接手一个项目,在任何浏览器都没有问题,只有在 IE 的兼容模式下,页面全都乱套.对比了一下之前写的代码发现没有这么一行代码:<meta http-equiv= ...

  5. ie6/IE8/IE9/谷歌以及火狐等浏览器下li 高度一致解决办法

    ul li { width:220px; margin:0 auto; position:relative; vertical-align:middle;line-height:25px;overfl ...

  6. IE6 IE8下背景图片不显示问题

    更改background:url()no-repeat; 去掉no-repeat即可解决问题! 转载于:https://www.cnblogs.com/dream-w/p/4781644.html

  7. 【前端-IE兼容】Win10和Win11使用Edge调试前端兼容IE6、IE7、IE8、IE9、IE10、IE11问题

    废话不多说,直接干: 打开设置->默认浏览器 让 Internet Explorer 在 Microsoft Edge 中打开网站修改为从不 允许在 Internet Explorer 模式下重 ...

  8. 搭建IE(IE8、IE9、IE10、IE11)兼容性测试环境

    背景 虽然IE的最后一个版本IE11已经发布了三年之久,且win10也默认了Edge浏览器,但现在IE的份额依然排在第二位,web开发不得不考虑几个版本IE的兼容性效果. 虽然一些浏览器插件支持模拟, ...

  9. mme设备内部错误_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

最新文章

  1. 数据民工,也能移动办公了:目标检测标注App上线Google Play,分分钟创建私人数据集...
  2. 那些容易忽略的事(1) -变量与运算符+
  3. 设计师必读的15个响应式网页设计教程
  4. nginx轻松搭建自己的flv流媒体服务器
  5. 章泽天将赴英国剑桥大学读书?证件照都是这么能打...
  6. java 线程map_map集合分割以及多线程处理数据
  7. 【2019百度之星初赛三1002=HDU6714】最短路 2(spfa+思维)
  8. 御剑端口扫描工具2020下载
  9. html设计效果图,网页效果图如何制作?
  10. php输出所有错误信息
  11. 黑客丛林之旅通关攻略(共14关)
  12. 计算机毕业设计java_java酒店客房入住管理系统
  13. NBU(NetBackup)备份vmware虚拟机
  14. CTF Crypto/MISC 在线工具网站
  15. 生物信息学基础知识Day2
  16. SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差
  17. 【三维目标检测】PointRCNN(一)
  18. 了解Three.js
  19. 科普:如何找到有趣的网站?
  20. Android正方形View

热门文章

  1. [Ubuntu] Your Firefox profile cannot be loaded. It may be missing or inaccessible
  2. 【torch】pytorch label的one-hot转化
  3. auto.js停止所有线程_使用多线程处理输入的数据
  4. python获取路径时,如果要想使用外部定义的字符串变量,需要注意(附带isfile)
  5. Linux Shell编程笔记7 awk的应用
  6. Flutter实战一Flutter聊天应用(五)
  7. 中国农业种植施肥机械行业市场供需与战略研究报告
  8. 2019级C语言大作业 - BrickMansions
  9. ​CSDN疯狂盲盒来啦!iPhone 12、机械键盘、Switch等你来拿!
  10. 苹果公司支付1.13亿美元和解“降速门”指控;三大运营商或于年底联合宣布5G消息商用;DBeaver 7.2.5 发布|极客头条...