Chrome 52的变化

来源:InfoQ 作者: 金灵杰
  

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策略

详细变更参见提交日志


时间:2016-07-15 22:01 来源:InfoQ 作者: 金灵杰 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量