英文原文:W3C Releases HTML 5.2 As Official Recommendation
W3C 于 2017 年 12 月 14 日发布了 HTML 规范 5.2 更新版本,并官方建议用户使用。此次更新增加了 dialog 标签等新功能、弃用了 HTML 插件系统等原有功能,并整合了其他 W3C 委员会的进展,如对支付请求 API(Payment Request API)和演示 API(Presentation API)的支持。
新版本的规范在 iframe 标签上新增了一些重要属性用于支持新的 JavaScript API。其添加了 allowpaymentrequest 属性以允许 iframe 控制支付请求 API 的访问。这也意味着嵌入了第三方内容的页面能够控制该第三方内容是否可向用户请求获取支付凭证,进而让可嵌入的购物车工具可以利用新的 API。来自 Forrester 的 Brendan Miller 阐述了支付请求 API 所带来的好处,他说:
该新标准让开发者可以创建一个简化的结帐页面,用户可以重复使用保存的付款和地址信息来加快结账速度,并减少错误输入。
支付请求 API 已经可在 Chrome、Edge 和技术预览版的 Safari 中使用。
HTML5.2 规范还增加了 allowpresentation 属性,该属性允许 iframe 可以访问演示 API 来让页面嵌入可以访问投影仪、监控器或网络连接电视等设备的第三方演示。演示 API 还只是一个 W3C 候选建议,目前只在 Chrome 上可用。
在新规范中也越来越重视安全性。其中集成了来自内容安全策略 3 级草案中的多项建议。link 标签正式支持 nonce 属性、内容安全策略可以事先阻止 style 和 script 标签的内联行为。这些工具使开发者能够更灵活地控制其 Web 应用程序允许加载的资源,从而减少跨站脚本攻击可能带来的破坏。开发人员可以通过 MDM 上的指南和文档了解如何使用内容安全策略来保护自己的应用程序。
该版本的 HTML 规范还提供了对 ES6 JavaScript 模块的官方支持。大多数浏览器已经实现了这一功能。从 Safari 10.1、Chrome 61、Edge 16 开始都已提供支持,Firefox 则需要打开特定的功能开关。
HTML5.2 是对 HTML5 规范的第二次重大修订,它遵循了 2014 年 W3C 承诺的大致每年发布一次规范修订。本次修订中还包括大量的清理和错误修复、主要的安全更新、其他委员会的进展整合以及其他用以保持规范符合最新网络广泛使用方式的更新。开发人员可以查阅规范发布中的变更日志来了解详细变更。
感兴趣的开发者可以在官方 HTML5.2 建议中了解所有变更的内容。同时委员会已经开始了 HTML5.3 的制定,并伴随 HTML5.2 发布了一份工作草案。