查看原文
其他

Chrome 56 Beta 新特性

2016-12-18 DevRel 谷歌开发者





文|Google 网络蓝牙矫正师 Vincent Scheib


除非另外注明,否则,下面介绍的更改均适用于最新 Chrome Beta 渠道版(Android、Chrome 操作系统、Linux、Mac 和 Windows)。



HTTP 密码和信用卡页面的“Not Secure”警告

为帮助用户安全地浏览网页,Chrome 通过地址栏中的一个图标指示连接的安全性。过去,Chrome 未将 HTTP 连接明确标记为不安全。从 56 版开始,Chrome 将把收集密码或信用卡信息的 HTTP 页面标记为不安全页面,这是将所有 HTTP 网站都标记为不安全网站的长期计划的一部分。该功能将在未来几周逐步推出。


为避免被标记为不安全,网站应使用 HTTPS 保护流量的安全并遵循一般安全性指导原则。



访问采用 HTTP 连接的网站时在 Chrome 网址栏中出现“Not Secure”警告 



网络蓝牙


网站现在可以利用 Web Bluetooth API 在 Android、Chrome 操作系统 以及 Mac 上与低功耗蓝牙 (BLE) 设备进行交互。Web Bluetooth API 采用 GATT 协议,网站开发者只需编写几行 JavaScript 代码,便可连接到打印机和 LED 显示器等蓝牙设备。网络蓝牙还可与实物网信标相结合,用于发现和控制附近的设备。


作为入门指南,请查阅 GitHub 上的这些示例和演示:

googlechrome.github.io/samples/web-bluetooth/index.html

github.com/WebBluetoothCG/demos



CSS position: sticky

Chrome 现在支持 CSS position: sticky 这种全新的元素定位方式。position: sticky 元素采用相对定位,但会在用户到达某个滚动位置时变为 position: fixed。




在之前的版本中,如果希望构建的内容标头可在固定到视口顶部前保持正常滚动,就需要侦听滚动事件,然后按指定阈值将元素的定位方式从 relative 切换到 fixed。这种方法难以同步,因此视觉效果上的改善不大。现在,用户只需将元素以 sticky 形式进行定位,便可获得想要的效果。



此版本中的其他特性

  • Android 上新增的 Remote Playback API 可让网站在智能 TV 和音响设备上启动和控制 HTMLMediaElement 的播放。

  • WebVR API 在 Android 上以来源试用版形式提供,让开发者能够在网络上打造虚拟现实体验。

  • WebGL 2.0 API 默认情况下在桌面设备平台上处于启用状态,能够通过 <canvas> 元素提供 OpenGL ES 3.0 级别的渲染能力。

  • 如果用户未与网站进行大量交互,navigator.plugins 和 navigator.mimetypes 中就不再公布对 Adobe Flash 的支持,但用户可单独针对某个网站重新启用 Flash 体验。

  • 网站现在可以利用图像采集来源试用版拍摄照片以及配置缩放之类的相机设置。

  • 现在,当内容发生变化,溢出到视口之上时,除非已设置 CSS overflow-anchor 属性,否则,Chrome 将会自动调整滚动位置,使内容在视口中保持固定。

  • Notifications API 现在允许网站通过设置 image 属性在通知中加入图像。

  • PaymentRequest API 具有各种新特性,包括 requestPayerName 和 JSON 串行化。

  • 在移动设备上显示和隐藏网址栏时不再对使用 vh 等视口单位进行过尺寸调整的初始包含块或元素进行尺寸调整。

  • 现在,在内存至少达到 512 MB 并具有系统词典的 Android 设备上,默认情况下将为 <input type="text"> 之类的文本输入元素启用拼写检查。

  • 现已将用于让内容适应 UI 的通用字体系列标准化,并在所有平台上重命名为 system-ui。

  • 新增的 Referrer-Policy HTTP 标头允许网站在不泄漏用户会话标识符或其他私有信息的情况下按网址转发网站流量。

  • KeyboardEvent.isComposing() 让网站无需直接监控键盘事件,只需根据近期 KeyboardEvents 便可确定用户是否正在键入内容。

  • 现在,使用蜂窝网络连接时,Chrome(Android 版)会将视频的默认 preload 属性设置为 metadata,从而显示预览图像和时间信息以匹配其他移动浏览器。

  • Chrome 现在支持 TLS 1.3 并加入了基于 draft-18 的 1-RTT。

  • 网站可以利用 ImageBitmapRenderingContext,通过以 ImageBitmap 形式渲染像素数据来减少内存消耗和合成开销。

  • 网站可以利用pinch-zoom CSS touch-action 属性响应双指张合手势。

  • ConstantSourceNode 是一个新增的音频源节点,可产生混合了 AudioParam 的恒定输出。

  • Web Audio ChannelSplitterNode 接口新增了两个只读属性:channelCount,由 numberOfOutputs 在 createChannelSplitter() 中定义。

  • PannerNode.rolloffFactor 现在固定在 PannerNode 距离模型的标称范围内,以描述在音源远离收听者时的音量下降率。

  • 页面当前未处于前台时,window.prompt() 将不再让其上级标签获得焦点。

  • 为与 Windows 上的行为保持一致,Chrome 扩展程序现在会在 Mac 上通过 Chrome Settings Overrides API 替换默认的搜索、启动和主页设置。


弃用和互操作性的改善

  • WebAudio API 不再包含弃用的 Doppler API,包括 speedOfSound、dopplerFactor 和 setVelocity。

  • 为改善标准性能,RTCPeerConnection 现在接受 iceTransportPolicy 以及 iceTransports 作为 RTCConfiguration 参数。

  • 现在提供的 RTCPeerConnection 将不带 webkit 前缀,但仍保留 webkitRTCPeerConnection。

  • 非空格 Unicode 控制字符现在将按照规范进行渲染,而不会被忽略。

  • reflected-xss 指令已从 Content Security Policy 2 中移除,因为它只是 X-XSS-Protection 标头的包装器,不提供其他功能。

  • 已取消对 MediaStreamTrack.getSources() 方法的支持,由 MediaDevices.enumerateDevices() 取代。

  • 不再支持 CSP referrer 指令,由新增的 Referrer-Policy 标头取代。

  • ShadowDOM 的 slotchange 事件会冒泡,但不再按 slot 的 assignedSlot 重新触发。 

  • 旧版 CBC 模式 ECDSA 加密套件 ECDHE_ECDSA_WITH_AES_128_CBC_SHA 和 ECDHE_ECDSA_WITH_AES_256_CBC_SHA 已移除,由 ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 之类的现代加密套件取代。

  • 已移除同时使用 SHA-1 和 SHA-512 的 ECDSA,以减少对 SHA-1 的依赖,以及与 TLS 1.3 全新的 ECDSA 处理方式保持一致。

  • Chrome 不再允许在代表触摸滚动(例如 touchstart 和 touchmove)的输入期间打开弹出式窗口。

  • 网站不再启动对具有无效 type 或 language 属性(例如 type="python")的脚本的获取,但由使用link preload 的声明性获取触发者除外。

  • MIDIMessageEvent.receivedTime 已弃用,由 Event.timeStamp 取代,因为 Event.timeStamp 现在支持使用高分辨率单调时间替代公元纪年时间。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存