如果没有特殊说明的话,以下都是应用在 Android,Chrome OS,Linux,Mac 和 windows 上最新发布的Chrome beta版上的特性。
原文链接: https://blog.chromium.org/2016/08/chrome-53-beta-shadow-dom.html 译者:Icarus 邮箱:xdlrt0111@163.com
Shadow DOM V1
HTML, CSS 和 JavaScript 是非常强大的开发语言,但是在代码规模非常大的时候他们难以维护。那些嵌入了第三方内容的站点需要确保引入的样式不会影响到已有的应用。Chrome 53 支持了Shadow DOM V1,它允许将一个元素的样式和子 DOM 节点封装在一起而不会影响主要的文档结构。这项技术提高了那些大型或者有很多组件站点的可维护性。Shadow DOM V1 相较于 V0 有一些重大变化,并且已经得到主要的浏览器厂商的认可。Chrome 直到足够数量的开发者使用 V1 之前,会同时支持这两个版本的 API。shadow root的表现取决于创建时使用的哪一个版本的 API。
PaymentRequest API
在浏览器中完成支付对于用户来说是很不方便的,会导致站点非常低的用户转化率。尽管自动填充大大简化了信息填写,在移动端有效率地填写数据仍然是一个问题。PaymentRequest可以在你使用信用卡或者 Android Pay 的支付的时候,实现无缝并且更快更安全的支付体验。它同样可以在不需要输入的情况下提供用户的账单地址,物流信息和付款者的信息。PaymentRequest 已经在 Android 的 chrome 上可用,不久也会支持其它平台。
在 Andorid 中的 chrome 里播放无声的视频
视频对很多站点来说是一个接近用户的极佳途径,但是如果视频意外的播放就会惹人烦。这在移动端是很常见的,因为用户可能处于一个不希望有声音的环境中。Android 中的 chrome 现在允许在没有交互的情况下播放无声的视频。如果这个视频被标记为无声的并且有自动播放的属性,Chrome 会在视频进入用户视野的时候开始播放。开发者也可以使用脚本在没有交互的情况下播放无声的视频。开始播放声音之前的用户操作将自动暂停无声的视频。
其他特性
-
站点在给搭载了 Android6.0 及以后版本的系统中发送通知时,状态栏中 chrome 的 logo 可以自定义。
-
通知对象现在可以为查看通知的按钮和震动模式提供 getter 方法。
-
对于已经设置了“探测和运行重要的插入内容”的用户,跨域插入内容小于 5X5 像素的不再加载。
-
展示许可沙盒标志允许站点控制一个 ifame 是否可以向外部设备展示信息。
-
在文本框元素上pattern属性的值现在使用unicode flag来改善语法检查和其它正则表达式的效率。
-
如果祖先的 opacity 属性小于 1 时,3D 元素会被变成平面。
-
为了避免视觉残影,所有内容在它的缩放变化时重新被扫描,除了具有will-change这一 CSS 属性的内容。
-
--webkit-filter
现在是一个无前缀filter属性的别名,表现和 filter 一样。 -
—webkit-user-select属性现在支持一个
all
属性,可以强制选中包括选中元素及其所有后代元素。 -
web 端的蓝牙 API已经在一些平台开始试验性使用,它允许站点使用蓝牙通用属性配置文件(GATT)来和附近的设备进行通信。
-
text-size-adjust属性允许站点控制在移动设备上字体的默认缩放。
废弃功能以及互用性提高
-
脚本生成的事件不再触发默认行为,提高了灵活性和浏览器的互用性。
-
HTTP/0.9 为支持添加了响应头支持的HTTP/1.0而被废弃。
-
TextEncoder API不再接受参数并且只会使用 utf-8 来进行编码。
-
因为最新的安全政策,通过赛门铁克公司办理的新的许可或者和赛门铁克公司有关联的证书在 chrome 中都不再被信任,除非同时具备证书信息透明。
Posted by Hayato Ito, Shadow DOM Chaffeur