上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利。同时,针对移动平台,Chrome 53 也提供了PaymentRequest 接口、自定义通知徽章等功能。
Shadow DOM V1
HTML、CSS 和 JavaScript 是非常强大的开发语言,但是当代码量变大时,维护难度会大大增加。另外,网站嵌入的第三方内容而引入的样式,不会影响到其他的部分。Chrome 53 支持 Shadow DOM V1 ,该规范能够将元素的样式和子 DOM 节点单独封装,与主文档树相互独立。这样能够提升大型或富客户端网站的可维护性。Shadow DOM V1 版本规范和V0 版本有显著的不同,该版本已经被各大主流浏览器厂商广泛认可。Chrome 将同时支持两个版本的API,直到有足够数量的开发者开始使用V1 版本。 ShadowRoot 的行为由其创建时所调用的 API 决定(V0 版本使用Element.createShadowRoot()
而 V1 版本使用Element.attachShadow()
创建)。
PaymentRequest API
在网页上完成支付操作对用户来说是个冗长的流程,这样会降低网站支付转化率。虽然自动填充可以让用户输入信息更加方便,但是在移动设备上高效数据输入仍然是一个挑战。 PaymentRequest 接口允许通过信用卡或者Android Pay 在网页上快速、无缝和安全的支付。它还能够在无需输入的情况下,让用户提供账单地址、物流信息和支付信息等内容。PaymentRequest 接口在Android 版Chrome 上可用,对更多平台支持即将推出。
Android 版 Chrome 自动播放静音视频
视频是网站和用户交互非常好的方式,但是视频不合时宜的播放会令人不快。这种场景在移动设备上更为常见,因为用户可能处于不能开启音频的环境。Android 版 Chrome 允许静音的视频在没有用户交互的情况下开始播放。如果视频被标记为静音,且有 autoplay 属性,Chrome 将会在视频对用户可见时开始播放。开发者也可以通过脚本在无需用户交互的情况下播放静音视频。静音视频在用户操作前播放音频将会被自动暂停。
其他新增特性
- 网站发送通知给 Android 6.0(Marshmallow)或以后版本的 Android 设备,现在可以提供显示在状态栏的徽章,以代替 Chrome logo。
- Notification 对象提供了读取函数,以读取通知的操作按钮和振动模式。
- 对于用户设置了“检测和运行重要插件内容”之后,跨域插件内容中包含小于 5x5 像素的图片将不再加载。
- allow-presentation 的 sandbox 标签允许网站控制 iframe 是否可以展现给外部设备。
input
元素上的 pattern 属性现在可以使用 unicode 标记,以提升语法检查和其他正则表达式工效。- 如果祖先元素透明度小于 1,3D 定位元素将会被扁平化。
- 为了防止视觉假象,所有内容的变换缩放改动都将会重新光栅化,除非该元素包含
will-change: transform
CSS 属性。 - 低通和高通双二阶滤波器现在支持更多滤波特性。
--webkit-filter
目前是无前缀属性 filter 的别名,二者行为完全相同,不再有独立的行为。- –webkit-user-select 现在支持
all
属性,它强制选取包含完整的元素及其后继元素。 - Web Bluetooth API 目前以初始使用的形式在一些平台上试验性可用,它允许网站通过蓝牙通用属性配置文件(Bluetooth Generic Attribute Profile,GATT)和附近设备进行交互。
- text-size-adjust 属性允许网站控制在移动设备上字体大小是否自动缩放。
弃用和互操作性的改进
- 通过脚本生成的事件将不再触发默认行为,以提升规范合规性和浏览器互操作性。
- HTTP/0.9 已经被废弃,取而代之的是 HTTP/1.0 ,它增加了对响应头的支持。
- 出于安全考虑,TLS 的 Diffie-Hellman 加密算法已经被移除,该算法已经在 Chrome 51 版本中被弃用。
- TextEncoder API 不再支持参数,而是始终使用 utf-8 编码。
- 由于最近安全问题,赛门铁克公司颁发或者证书链中包含赛门铁克公司的新证书,在 Chrome 中将不再被授信,除非新证书包含了证书透明度(Certificate Transparency)信息。
感谢韩婷对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论