EdgeHTML 18
未完成。
EdgeHTML 18随Windows 10 1809一起发布,也是最后一版EdgeHTML。
新功能与特性 自动播放策略 在Windows 10 1809上,Microsoft Edge为用户提供了个性化浏览体验的全新方式。在自动播放有声媒体的网站上,用户能够灵活定制自己的浏览偏好,从而有效降低网络干扰,同时节省宝贵的带宽资源。Microsoft Edge不仅提供了全局的自动播放控制选项,还允许用户针对每个特定网站进行细致的媒体行为设置。此外,该浏览器还可以自动阻止后台标签页中的媒体自动播放。
Chakra改进 EdgeHTML 18对Chakra JavaScript引擎进行了显著更新。此次更新不仅提升了性能和互操作性,还加入了对最新ES(ECMAScript)特性和WASM(WebAssembly)功能的支持
CSS更新 实验性的CSS掩码实现(需启用CSS掩码标志)取得了显著进展,新增了对掩码复合、掩码位置和掩码重复的支持。为了确保与现有网站的兼容性,Microsoft Edge 还支持以下带有-webkit-前缀的属性:-webkit-mask、-webkit-mask-composite、-webkit-mask-image、-webkit-mask-position、-webkit-mask-position-x、-webkit-mask-position-y、-webkit-mask-repeat和-webkit-mask-size。
此外,Microsoft Edge现已加入了对溢出包装的全面支持,并实现了对溢出滚动行为(包括相关值)的部分支持,进一步提升了网页布局和滚动体验的灵活性与可控性。
开发人员工具 Microsoft Edge DevTools的最新更新在用户界面和底层功能上都进行了诸多优化,带来了诸多便捷特性。此次更新新增了专用于Service Workers和Storage的面板,为开发者提供了更直观的调试工具。同时,Debugger中新增了源文件搜索功能。此外,还扩展了Edge DevTools协议域,新增了针对样式/布局调试和控制台API的功能。
请求多个API实现以及另外的支持 在EdgeHTML 18中,实现了对多个关键API的支持,进一步增强了浏览器的功能性和安全性。其中,DataTransfer.setDragImage()方法允许开发者在拖放操作期间自定义拖动图像,为用户提供了更加直观和个性化的交互体验。此外,secureConnectionStart属性作为性能资源计时API的一部分,能够在浏览器启动握手过程之前即时返回时间戳,从而有效保护当前连接的安全性。
此外,考虑到开发者通常不倾向于枚举属性集合,我们特别增加了对Element.getAttributeNames方法的支持。该方法能够以字符串数组的形式便捷地返回元素的所有属性名称,极大地简化了属性检索的过程。同时,我们还新增了Element.toggleAttribute方法,用于灵活切换布尔属性:若属性已存在,则将其删除;若属性不存在,则进行添加。
PWA方面更新 生命周期后台脚本 Windows 10 JavaScript应用(即在独立进程中运行的Web应用)现引入了一项新特性:可选的每应用程序后台脚本。此脚本在任何视图激活之前即启动,并贯穿整个进程运行。借助这一功能,开发者能够在视图激活前对导航进行监控与修改,实现跨导航的状态跟踪,有效监控导航错误,并提前执行必要的代码。这一改进由WWAHost.exe进程支持。
当应用清单中将某页面指定为StartPage时,应用的每个视图(窗口)都将作为WebUIView类的新实例向脚本公开。这使得每个视图都具备与常规(Win32)WebView相同的事件、属性和方法。开发者编写的脚本可以监听NewWebUIViewCreated事件,从而在新视图创建时及时介入,获取对新视图导航的控制权。
文本缩放 Windows 10 1809推出了“放大文本”设置,旨在提升最终用户的可访问性体验。在此更新下,安装在Windows上的渐进式Web应用(PWA)——除了通用Windows平台(UWP)应用和大多数桌面应用之外——现已自动兼容此功能。对于PWA以及WebView控件而言,文本缩放的机制与DPI缩放保持一致。若用户同时调整文本缩放比例和DPI缩放比例,最终的显示效果将是两者缩放比例的乘积.
服务工作线程更新 在EdgeHTML 18中,Microsoft Edge对Service Workers的支持迎来了一系列重要更新。这些更新赋予了服务工作线程新能力,使其能够利用预加载响应来提前承诺响应,同时,新增的客户端ID功能可以精准地返回当前由服务工作线程控制的客户端的唯一标识。
此外,NavigationPreloadManager接口的引入为资源预加载管理提供了强大支持。该接口允许在服务工作线程启动时并行发出请求,有效消除了时间延迟,显著提升了应用的启动速度和响应性能。为了帮助开发者更好地利用这些新特性,我们提供了新支持的API属性列表,其中详细列出了服务工作线程预加载相关的方法和属性,以便开发者能够快速上手并优化其Web应用的性能。
网络认证 Microsoft Edge现已全面支持无前缀的Web身份验证API(亦称WebAuthN)。WebAuthN提供了一种开放、可扩展且高度互操作的解决方案,旨在简化身份验证流程。它将传统的密码认证方式替换为更强大的硬件绑定凭证,极大地提升了用户体验的安全性和便捷性。在Microsoft Edge中,这一功能的实现与Windows Hello深度集成,允许用户利用面部识别、指纹扫描或个人识别码(PIN)进行快速登录。除此之外,还支持FIDO2安全密钥和FIDO U2F安全密钥等外部认证设备,为用户提供了一种安全、可靠的方式,以向网站进行身份验证,进一步增强了在线身份认证的安全性。
网络驱动程序 WebDriver现已成为Windows的按需功能(Feature on Demand,简称FoD),这使得在Microsoft Edge中自动化测试的执行以及为您的设备获取适配版本变得极为简便。安装WebDriver后,您无需再手动匹配构建版本、分支或样式,因为WebDriver将自动更新,以确保与任何新的Windows 10更新保持一致。
要安装WebDriver,您可以通过开启开发者模式进行操作,也可以通过以下路径将其作为独立组件安装:依次点击“设置”>“应用”>“应用和功能”>“管理可选功能”。
网络通知属性 Web通知功能现已扩展,新增了四个关键属性:actions、silent、image和maxActions。这些属性的加入显著增强了我们在Web平台上创建与现有通知系统兼容的通知的能力,同时确保了通知的跨平台兼容性。通过这些新属性,开发者可以设计出更加丰富、互动且用户友好的通知体验,无论用户使用何种设备或操作系统。
网页浏览方面的更新 服务工作线程 除了Microsoft Edge浏览器和Windows 10 JavaScript应用之外,WebView控件现已全面支持服务工作线程。这一支持涵盖了Microsoft Edge WebView的所有版本,包括渐进式Web应用(PWA)、通用Windows平台(UWP)应用以及Win32应用。Push API目前尚未在UWP和Win32版本的WebView中得到支持。
AMD64应用架构要求使用中性(Any CPU)或AMD64特定的软件包,这是因为WoW64进程不支持服务工作线程。为了节省磁盘空间,所需的DLL的WoW版本并未包含在Windows操作系统中
Win32 WebView更新 针对Windows桌面(Win32)应用程序的EdgeHTML WebViewControl迎来了一系列更新,加入了多项新功能。其中,新增的AddInitializeScript功能允许在页面加载时、且在页面上其他任何脚本执行之前注入脚本,为开发者提供了更早介入页面初始化过程的能力。此外,WebViewControl还新增了GotFocus和LostFocus事件,使开发者能够精准地知晓WebViewControl何时获得或失去焦点,从而实现更精细的交互控制和状态管理。
此外,EdgeHTML 18还加入了一项新功能,允许您创建一个新的WebViewControl作为从window.open打开的窗口。当WebViewControl中的脚本像往常一样调用window.open时,NewWindowRequested事件仍然会通知应用。在EdgeHTML 18中,NewWindowRequestedEventArgs包括了一个GetDeferral方法,这使得开发者可以将新的WebViewControl(即 NewWindow)设置为窗口的目标。这一改进增强了WebViewControl在处理新窗口请求时的能力。
新增部分API 此外,在Build 18262的Microsoft Edge Insider Preview 里,新增了新的CredentialsContainer.preventSilentAccess API
删除或取消的特性 XSS过滤器现已停用 在EdgeHTML 18中,Microsoft Edge已停用了XSS过滤器。尽管如此,微软的客户依然能够得到充分保护,这得益于内容安全策略(CSP)等现代标准的广泛应用。这些标准不仅提供了更强大、更高性能、更安全的防护机制来抵御内容注入攻击,还确保了在现代浏览器之间的高度兼容性。