转载

Chrome 52的变化

6月,Chrome团队 宣布 Chrome 52进入Beta通道,Chrome 52给我们带来了哪些新的特性呢?

CSS容器封闭

网页的交互体验一直是网页的基石,但是随着网页的复杂,页面的渲染时间也随之增加。为了加快网页渲染速度,Chrome采用增量渲染网页上被修改的部分,既网页元素动态修改之后,Chrome只会渲染受影响部分而非整个网页。但是,由于页面元素可以通过CSS设置将其展示在父容器之外,这意味了一个元素的改变可能会影响页面的任何位置。因此Chrome的增量渲染也需要考虑此因素,这可能会大大增加需要重新渲染的元素数量。

在新版本中,Chrome增加了对 contain属性 的支持,该属性允许开发者 阻止元素内容超出元素的边界 。此时,当该元素被修改时,Chrome在渲染时会忽略该在该元素父节点以外的元素,以提高渲染速度。

性能观察API

对于网页应用来说,收集真实用户打开页面的时间,可以进行性能问题诊断,提升用户体验。之前开发者可以通过Chrome开发者工具查看本地访问的时间,但是无法用来获取真实用户打开网页的耗时。最新版本的Chrome支持了 性能观察API ,使得开发者可以 方便的收集 真实用户度量数据。

性能观察API相比于 性能时间线API(Performance Timeline) ,开发者可以 声明和注册自己关心的度量指标 ,而无需轮训更新结果。

Service Worker API支持流响应

流响应可以让浏览器在整个HTML传输过程中就逐步开始渲染。这对于大型网页非常有效,能够加快渲染速度,同时提高用户体验。新版的Chrome对于Service Worker API做了 提升 ,使其也能够支持流响应。网页可以使用 Streams API 通过传入 ReadableStream对象 构造一个支持流读取的 Response对象 ,这样就可以流式处理从服务器端传输过来的数据了。

网页推送协议支持VAPID

消息推送API 的使用,将网页应用的体验提升了一次层次。但是开发者需要为消息推送设置专有推送消息,并且可能需要为不同浏览器定制不同的API。Chrome现在支持 VAPID (Voluntary Application Server Identification,自主应用服务器标识),它是一种为站点和网页之间推送协议增加授权的开源标准。

其他特性

  • 当显示模态对话框时,Chrome将停止动画;
  • 新增对 Alternative Services 的支持,客户端可以增加额外的来源(origins),以简化协议升级等交互;
  • ImageBitmaps 对象可以在构造时使用ImageBitmapOptions对象而简化构造流程。
  • 页面上可以通过 ImageBitmap.close() 函数释放ImageBitmap占用的内存。
  • 在跨域iframe中, 触摸手势 将不会触发弹出框,除非关联了一个tap事件,以避免滚屏时意外触发弹出框。
  • Android版本的Chrome中,只有安全的源才能 创建和删除含有安全标识的Cookie 。
  • 最新版本的Chrome支持 meter元素 使用-webkit-appearance:none样式,以清除默认样式,更好的支持该元素的自定义样式。
  • 内容安全策略(Content Security Policy,CSP)的unsafe-dynamic表达式支持单次使用或者基于散列表的白名单,以验证JavaScript脚本,使得 防止跨站攻击变得容易 。
  • Fetch API支持为 Request 对象设置 referer策略 。

详细变更参见提交 日志 。

感谢韩婷对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。

原文  http://www.infoq.com/cn/news/2016/07/Chrome-52-change
正文到此结束
Loading...