[译]Edge浏览器中被微软移除的7个常用特性
微软已经将最新版本的 Windows 操作系统的发布日期定在了2015年7月29日,同时发布的还有他们的最新的浏览器产品:Edge,这也将代替IE 成为 新版 Windows的标配浏览器. 在 Edge 的开发过程中,微软移除了超过300个 的API (相对于 IE的功能而言).
此篇文章介绍了其中7个前端开发人员耳熟能详的特性.
#ActiveX AtciveX 这个玩意儿最早在1996年就被提出来了,旨在用于通过借用 Windows 系统的特性或功能来增强网站的功能. 不幸的是这个功能同时又导致了不计其数的各种问题以至于微软不得不在 IE11里面将 ActiveX 默认关闭掉了, 因为仍有很多企事业单位的网站在使用这项技术,所以暂时还不能完全移除.然而在 Edge 浏览器里面将完全见不到ActiveX的踪影.
#工具条(Toolbars) IE浏览器有很多众所周知的问题, 最被用户熟知的便是那些如菜市场的菜摊子一般混杂繁多的第三方工具条. 我不止一次见到一些个用户的 IE浏览器上堆满了十个甚至更多的工具条. 在 Edge浏览器中微软已经完全移除了这个坑爹的功能, 进而跟其他现代浏览器一样支持基于HTML和JS的扩展模块(跟 Chrome 的扩展一样). 不过在写这篇文章的同时,Edge浏览器的扩展模块仍然还在开发中.
#旧文档模式(Legacy Document Modes) 你知道你可以使用所谓的X-UA-Compatible标签来更改IE的渲染模式么? 比如你可以强行让IE11以IE7的模式来渲染一个页面. 可以理解的是微软并不想永远都支持这种搞法,因此,这个特性也将在Edge浏览器中被移除. 此外,Edge浏览器的User Agent字符串也加入了其他主流现代浏览器的关键字,这让User Agent字符串变得越来越没有意义了(进言之就是说浏览器越来越变得统一了).
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0
#条件注释(Conditional Comments) 有时候 WEB 开发者需要强制使用某些特殊的代码来让网站能在 IE 浏览器中正常运行,幸好”条件注释”特性可以帮助开发者完成需求, 比如下面的代码:
<!-- [if IE 7]>
此处代码仅在IE7浏览器中有效
<![endif]-->
微软不希望开发人员再这样做,所以这个特性在Edge浏览器中也不复存在,有此需求的话,可以使用"特性检测"来代替.
#DX滤镜(DirectX Filters) 在之前我曾经不止一次地搜索”兼容所有浏览器的透明度”这样的关键字,就是因为我记不得该怎么写才能让透明度效果完全兼容包括 IE 在内所有的浏览器,而我记不住写法的原因,就是因为,咳咳,自己看:
.transparent_class {
/* IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
/* IE 5-7 */
filter: alpha(opacity=50);
/* Good browsers */
opacity: 0.5;
}
而对于Edge 浏览器来说,就请你忘掉这些又臭又长滤镜函数吧…(没搞懂,Opacity 不是 IE9就开始支持了的么,或许作者是想说在Edge里面不管事 Opacity 还是其他的效果都完全不需要DX 滤镜了吧.)
#VBScript 1996年的时候微软就将VBScript作为JavaScript 的替代品集成到了他们的浏览器中,但是在19年后的今天,我们可以肯定得说JavaScript已经完爆VBscript成为了浏览器脚本语言大战的胜利者.而微软也不得不承认了这个事实,并在Edge浏览器中移除了对VBScript (为 VBScript 默哀0.1秒)
#矢量标记语言 VML(Vector Markup Language) VML 也是一个历史遗迹一般的存在, 它诞生于1998年,用于完成简单的2D 图形的渲染.不过由于一直没有得到广泛的应用,所以微软决定在Edge浏览器中使用 SVG 来代替它.
#总结 300多个IE浏览器的API在微软的最新浏览器 Edge 中将不复存在,不过幸运的是这些原有的功能将被 HTML5的内建特性所代替.想体验 Edge 浏览器,请加入"微软内幕计划(Microsoft Insider Program)".
译文地址: http://margox.me/7-top-features-microsoft-removed-in-microsoft-edge.html