编者按:本文由garnett在众成翻译平台上翻译。Chrome 62 Beta版主要有这几个更新:网络质量评估API,OpenType可变字体,从Dom元素中捕获媒体流。小编最喜爱的特性是OpenType可变字体,你们呢?
除非特别指出,本文介绍的特性适用于Android,Chrome OS,Linux,Mac和Windows平台上最新的Chrome Beta版本。
网络质量评估API
Network Infomation API已存在Chrome此前的版本中,但是之前仅针对用户特定的网络连接类型提供理论的网络速度。在本次发布的版本中,这个API的功能得以扩展,可以为开发者提供类似于客户端的网络性能指标。借助这个API,开发者可以检测到当前预期的往返时间和吞吐量,也能够获知网络性能变化。为了简化应用逻辑,即使实际的连接是WiFi或以太网,API也会将测量的网络性能量化为与其最接近的蜂窝连接类型(例如2G)。
借助这些网络质量信号,开发者可以根据网络条件来定制内容。举例来说,当网络连接非常缓慢时,开发者可以提供一个简化版的网页来提升网络加载速度。在不久的将来,这些信号也会出现在HTTP请求头中,通过Client Hints启用。
OpenType可变字体
OpenType字体变体赋予了Web新的字体排版能力。以前的话,一份字体文件只包含单一字体族的实例,且只包含一种粗细程度(常规,加粗等等中的一个)或者是一种拉伸样式(普通,压缩,伸展等等中的一个)。
图: Amstelvar和Decovar可变字体的动画展示
有了可变字体之后,字体排版也能够被纳入Web响应式设计的范畴。OpenType变体能够在节省空间和带宽的同时,提供连续的风格变化范围,这是因为它们都是从一个字体文件中加载的。字体的拉伸效果、风格类型和粗细程度可以借助于各自的CSS 属性(目前支持数值类型的值)进行调整。借助font-variation-settings属性,可以对诸如粗细程度和字宽等参数进行微调。
从DOM元素中进行媒体抓取
W3C Media Capture from DOM ElementsAPI允许网站直接从HTMLMediaElements(比如<video>,<audio>)中,实时抓取MediaStream形式的内容。通过调用HTMLMediaElements上的captureStream()方法,就能够记录到流式的内容,并借助WebRTC将其发送到远端,进而可以借助WebAudio处理媒体内容,或者以其他方式操作这些内容。
图:实时抓取一个3D渲染模型,并通过WebRTC将流发送到其他端。
该版本的其他新特性
iOS上的Chrome新增Payment Request API。
PaymentRequest借助PaymentDetailsModifier.data,在一种支付方式中支持不同的价格和条目。
非文档元素和<body>元素现在可以利用document.rootScroller添加视口滚动的效果,比如隐藏地址栏或者产生滚动到头的高亮提示(overscroll glow)。
现已给 <data>和<time>元素增加了DOM接口,为开发者提供一个原生的存储客户端内容的方式。
CSS 颜色解析器现在支持8位和4位的16进制颜色表示法,格式为:#RRGGBBAA和#RGBA。
继lookahead之后,这一版本中也支持了lookbehind断言,开发者可以利用正则表达式来判断某一个模式是否在另一个之后,比如可以匹配到美元的数额而不捕获美元符号。
新增WebVR Origin Trial,这一特性可以让开发者在web上做虚拟现实相关的探索。
遵循之前的声明,当用户在HTTP网页中输入数据或者在隐身模式下访问HTTP网页的时候,会报出“不安全”的警告提醒。
开发者可以使用s标识在ECMA正则表达式中开启dotAll模式,这一模式下,"."可以匹配包含换行符在内的任意字符。
在Android的Chrome中,上传图片功能优化了用户体验,增加了多选操作,只需使用<input type="file">并通过accept属性声明只接受图片即可使用。
使用了MediaSource API的应用可以利用新的Media Source ExtensionsAPI,setLiveSeekableRange和clearLiveSeekableRange更高效地定制它们的HTMLMediaElement.seekable可查找的范围逻辑。
新的CSS声明visibility:collapse可以将表格行隐藏,但不会影响表格列宽,这与visibility:hidden声明的效果不同,后者只是不去绘制表格行。
现在,给定一个区域和一个数字,网站可以利用Intl.PluralRules来访问与多个数字形式相关的语言相关数据和相关的文本。
媒体文件扩展(MSE)已经支持FLAC,一种按照ISO-BMFF编码的无损音频编码方式。
受保护的媒体文件现在可以通过EME在Chrome for Android上面离线播放。
Chrome for Android现在支持了Widevine L1, 允许网站以安全的方式播放加密媒体文件。
对模板语法的转义序列上的宽松限制解锁了新的模板标签用例,比如LaTeX处理。
在Android O当中,有通知权限的网站会作为一个通知频道出现在Chrome的Android设置当中,这样做的目的是避免用户误操作改动了通知权限。
弃用的功能和互操作性改进
继更新了macOS的原生按钮样式之后,<input>按钮和<button>元素的外观做了些相似的调整,这些调整会影响到 background-color, border, border-radius, 和padding属性的默认值。
在HTTP连接和跨域iframes中,请求显示通知的功能已经被弃用,这一点依据了restricting powerful features,这种操作只针对HTTPS连接有效。
为了确保服务端返回的内容使用的是用户的语言,在生成请求头accept-language时,基础语言现在会被直接添加到“语言+地区”之后。
为了提高交互性和浏览器的一致性,现在会派发过渡鼠标事件,并且在修改了预期布局之后会更快地更新悬停状态。
在现有的接受三个独立参数之外的构造函数之外,OfflineAudioContext新增了一个字典参数。
与其他浏览器一致,RTCPeerConnection上的getStreamById方法现已被移除。
继其他主流浏览器弃用并移除SharedWorker.workerStart后,Chrome这次也移除了这一方法。
为了更好地符合规范,<ol>.start的默认值已设置为1。
——————————————————
▼
标签: chrome安卓版扩展