EdgeHTML 12
EdgeHTML 12 是 EdgeHTML 的首个版本,它内置于 Windows 10 原始版本(版本 1507)和 Windows 10 IoT 核心版原始版本(版本 1507)中。
Microsoft 于 2014 年 11 月 12 日将 EdgeHTML 呈现引擎作为 Internet Explorer 11 的一部分随 Windows Technical Preview Build 9879 引入。当时 Microsoft 计划同时在 Internet Explorer 和当时的 Project Spartan(后来的 Microsoft Edge)中使用 EdgeHTML;在 Internet Explorer 中,EdgeHTML 将和原有的 Trident 7 引擎共存,后者则改为用于兼容性目的。但是,Microsoft 后来改变了策略,在 Windows 10 中运行 Internet Explorer 11 和 Windows 8.1 中一样,而 EdgeHTML 则改为只用于当时的 Edge 浏览器。EdgeHTML 同时也被添加到 Windows 10 移动版和 Windows Server 2016 Technical Preview 2 中。最终,EdgeHTML 12 作为 Windows 10 的一部分,于 2015 年 7 月 29 日与后者一起发布。
与 Internet Explorer 使用的 Trident 不同,EdgeHTML 不支持 ActiveX。EdgeHTML 还放弃了对 X-UA-Compatible
标头的支持,Trident 使用此支持来确定必须呈现某个页面的版本。此外,Microsoft 还放弃了兼容性视图列表的使用。
在 Edge 中,将会识别页面是否需要任何已删除的技术才能正常运行,并基于识别结果建议用户在 Internet Explorer 中打开页面。有关此方面的另一个变化是欺骗用户的用户代理字符串,声明浏览器是 Chrome 和 Safari,同时还提到 KHTML 和 Gecko,因此使用用户代理嗅探的 Web 服务器会向使用 Edge 的用户发送完整版本页面而非功能缩减的页面。
相比 Trident,EdgeHTML 取得了显著的性能提升,从而在 JavaScript 基准测试中获得了更好的分数。
主要新增功能
内容安全政策 1.0
Microsoft Edge 的 EdgeHTML 引擎实现了对内容安全策略(Content Security Policy,CSP)1.0 的支持。CSP 安全标准使 Web 开发人员可以控制特定页面可获取或执行的资源(包括脚本、CSS、插件、图像等),防止跨站点脚本(XSS)、点击劫持和其他代码注入寻求在可信网页的上下文中执行恶意内容的攻击。
过滤效果
Microsoft Edge 提供了一种向元素添加视觉效果的简单方法。使用 filter
属性,你可以为元素添加模糊、调整亮度、添加投影、更改不透明度等。使用纯 CSS,你可以将多个滤镜效果应用于一个元素并为滤镜设置动画。
JavaScript
JavaScript 支持在 Internet Explorer(IE11)和 Microsoft Edge 的最终版本之间略有不同。在 Edge 中的新功能包括:
- 语句——
class
(实验)、for...of
- 对象——
Promise
、Proxy
、Symbol
、WeakSet
- 函数——
acosh
、codePointAt
、fromCodePoint
、hypot
、imul
、isInteger
、isNaN
、raw
- 方法——
includes
、keys
(数组)、repeat
(字符串)、values
(数组) - 其他功能——
Functions
(实验)、Generators
、Iterators
、Regular Expression y flag
(实验)、Template strings
、Unicode code point escape characters
媒体捕获和流媒体
Microsoft Edge 引入了对基于 W3C 媒体捕获和流规范的媒体捕获和流 API 的支持。这些 JavaScript API 允许网页在用户许可的情况下访问媒体捕获设备,如网络摄像头或麦克风。通过使用媒体捕获和流 API,可以创建使用网络摄像机捕获照片或从麦克风捕获语音邮件等方案。
新的 HTML 元素和属性
meter
元素picture
元素template
元素image
元素:srcset
和sizes
属性selectionDirection
属性input type=time
和input type=datetime-local
对象 RTC 接口
对象实时通信(ORTC)使媒体(音频和/或视频)能够通过本机 JavaScript API 直接在 Web 浏览器、移动设备和服务器之间实时流式传输(发送和接收)。
阅读视图
Microsoft Edge 提供阅读视图,可提供更简化、更像书本的网页阅读体验,而不会分散页面上不相关或其他次要内容的注意力。可以通过地址栏上的“阅读视图”(书籍图标)按钮或使用 Ctrl+Shift+R 打开或关闭阅读视图。
搜索提供程序发现
丰富的搜索集成内置于 Microsoft Edge 地址栏中,包括搜索建议、Web 结果、浏览历史记录和收藏夹。Microsoft Edge 遵循 OpenSearch 1.1 规范来发现和使用 Web 搜索提供程序。
支持 WebKit API
为了提高兼容性,Microsoft Edge 支持各种以 -webkit-
为前缀的 API。
Web Audio
Microsoft Edge 引入了对 W3C Web Audio API 规范的支持。Web Audio 是一个高级 JavaScript API,用于在 Web 应用程序中处理和合成音频,以提供丰富的音频和音乐体验。虽然 HTML5 音频元素允许基本的流式音频播放,但 Web Audio API 提供了一系列 API,允许你以紧密同步的方式播放多个声音,并对混合音频应用增益、淡入淡出、过渡和基本效果。
WebDriver
W3C WebDriver API 是一个平台和语言中立的接口和线路协议,允许程序或脚本控制 Web 浏览器的行为。WebDriver 使开发人员能够创建模拟用户交互的自动化测试。这与 JavaScript 单元测试不同,因为 WebDriver 可以访问在浏览器中运行的 JavaScript 无法访问的功能和信息,并且可以更准确地模拟用户事件或操作系统级事件。WebDriver 还可以在单个测试会话中跨多个窗口、选项卡和网页管理测试。
EdgeHTML 12 中的新 API
EdgeHTML 12 增加了 4721 条新 API,其中许多 API 也可以在 Internet Explorer 11 中可用。单击此处可查看所有 API 列表。