乐趣区

关于前端:IE-永不死微软开始将不兼容-IE-的网站自动重定向至-Edge

前言

作为前端工程师最苦楚的事件无非就是要兼容 IE 了,但有一个令人匪夷所思的问题就是 IE 即便不更新也仍然无奈灰飞烟灭,因为我之前始终用的是 iMac,所以不太理解 IE 的近况,认为它只存在于 Windows XP、Win7、Win8 中,随着这一批操作系统的淘汰 IE 兴许就不会再呈现在人们的视线中了。

2020 年疫情的起因,过完年始终在家办公了很长时间,始终在狭小的空间里待着会让人感到不适,所以我实现工作后打算玩玩游戏来舒缓一下情绪,于是就买了一台 Windows 笔记本 ( 大部分大家耳熟能详的游戏只有 Windows 能玩),万万没想到收到货后刚一开机就看到了无比相熟的两个图标:

这让我感到十分的纳闷,微软既然曾经有 Edge 了,为什么还要在 Windows 零碎上捆绑这个 IE 呢?这都 Windows 10 了还把 IE 给放桌面上,是怕它被世人忘记么?这么做的话猴年马月能力不思考 IE 啊!

深思

接下来我开始陷入了深思:毕竟大部分人还是不太理解计算机的,桌面上如果有浏览器的话可能默认就间接点进去浏览网页了,非计算机专业的人可能也不晓得 IE 到底有什么不好,反正不是都能浏览网页嘛!IE 这么不便又不必下载,也从来不提醒我更新,不像某些国产浏览器一堆烦人的广告,就用 IE 了!

这就导致了在进行更新大版本的 IE 上,一些新个性将永远不会被反对,并且还没有适合的 polyfill,比方 CSS 的 grid、JS 的 Proxy,随着各种框架的降级,这些新个性正在扮演着越来越重要的角色,比方 Vue 3、React 的 mobx、immer 等各种各样的库…然而为了兼容这部分始终应用 IE 的人,咱们将永远也无奈应用新技术!

那么接下来会产生什么?ES 再怎么迭代更新,ES10、11、12、13、14、15… 那又有什么意义呢?一些语法糖似的更新,能够应用 babel 来转换成 IE 能辨认的代码,但同时也就义了网络传输的体积,因为语法糖可能就一句代码,转换进去可能就变成一百行代码了,比方咱们最罕用的 Promise,被 babel 转换成 polyfill 之后代码一下子多了好几十 KB。

同时 ES 也不仅仅只更新语法糖,有一些个性必须要是 JavaScript 引擎级别的反对能力做到:比方 Proxy、Symbol 等,难道等咱们三十来岁退休的时候也永远无奈用上新技术吗?

可能有人会说,用不上新技术就不必呗,以前的前端开发工程师不也都干得好好的嘛,该实现的性能不都实现了?这么说是没错,然而当初产品堪称一年比一年简单,以前用 jQuery 实现的网站,当初再让用户去拜访,用户还会感觉这个网站好吗?又慢、性能又个别、款式也不难看、交互也不敌对… 不信的话大家把往年产品经理给你提的需要记在小本本上,而后一两年后再拿进去看看,看看两年后的需要和两年前的需要差距有多大,需要不降级的状况下,当然能够始终用老技术啦!不然大家谁违心学那么多花里胡哨的,间接什么 Node.js、npm、webpack 的都不必装,在编辑器生成个 html 页面,而后 <script\> 标签里引个 jQuery 一顿$,它不香吗?尤其是现在数据可视化需要的连年递增,SVG、Canvas、WebGL 这些技术怎么在 IE 上用?

我始终很不了解微软的做法,他本人都放弃了的货色,还要强制消费者去用 ( 说强制是夸大了点,但将 IE 始终放在桌面的做法的确为它的永生提供了保障),Edge 起初改用了 Chromium 内核,和国产浏览器一样沦为了一个 ” 皮肤 ” 浏览器,但这仍然令前端开发者感到开心,如果有一天咱们真的团结起来了呢?咱们将团结一致的怯懦对兼容 IE 说不!咱们开发的我的项目将不思考在 IE 上会运行成什么样,这样还在应用 IE 的用户会不会就此放弃了呢?

Edge 87

微软仿佛也意识到了这个问题,许多古代网站的设计都与 IE 不兼容。所以当 IE 用户拜访不兼容的站点时,他们会收到一条音讯,揭示此站点与浏览器不兼容:

可能有的用户会因而而下载新的浏览器,但有一些用户可能稍微年长或文化程度略低,导致此时并不知道该如何是好。

因而从 Edge 87 开始,当用户应用 IE 拜访与其不兼容的站点时,将会被主动重定向至 Microsoft Edge。重定向至 Edge 时,浏览器会为用户显示一次性对话框。阐明重定向的起因,并提醒是否批准将浏览数据和设置从 IE 导入到 Edge,具体包含:收藏夹、明码、搜索引擎、关上的选项卡、历史记录、设置、Cookie 和主页。导入数据不是必选项,不勾选也能够持续下一步:

在用户以 Edge 浏览网页时,如果用户的默认浏览器是 IE 的话,那么 Edge 还会揭示用户把默认浏览器改为 Edge。而除了面向普通用户的措施外,对于企业用户,微软也以电邮告诉他们,示意从 11 月 13 日起,将不能在 IE 上登入微软账号。看起来微软仿佛也有要摈弃 IE 的打算了,然而我感觉首要的第一步还是不要在新电脑上装 IE 了,装他人家浏览器必定是不可能,但新版谷歌内核的 Edge 浏览器还是能够的。

假扮成不同的浏览器

前两天在公众号上看到:

Chromium 版 Edge 会依据所拜访的站点模仿其余浏览器。这可能是出于兼容性起因。它会通过切换用户代理以伪装成其余浏览器,将本人显示为 Google Chrome,以便应用为该浏览器编码的网站性能。

启动 Edge 时,它会下载 JSON 配置文件。此文件的一部分—— EdgeDomainActions 局部 —— 通知 Edge 拜访某些网站时如何操作。例如,拜访 Netflix.com 时,Edge 仿佛是 Edge,但在拜访 Facebook 时,它会切换用户代理并显示为 Chrome,如果网站在 Google Chrome 浏览器中运行得更好,这能够让它通知网站它是谷歌浏览器。此性能还可能容许它在连贯到视频流网站时伪装成原始 Microsoft Edge,以便利用 PlayRady 等 Microsoft DRM,这些都是 Chromium 浏览器通常不反对的。

底下一堆人评论:

360 双核浏览器既视感

这不是国内所谓双核浏览器玩了十几年的套路吗????

震惊!微软竟剽窃国内这家浏览器公司的双核技术!

说白了,不还是因为兼容性有问题的时候,程序通过 UA 判断是否是 Edge 做了非凡解决。换内核当前为了不出 bug,不走这个判断呗

本文首发于公众号:前端学不动

退出移动版