Fork me on GitHub
魔芋铃

【03】谷歌版本63新功能总结

【03】谷歌版本63新功能总结
 
 

 

动态模块导入
目前,导入 JavaScript 模块是完全静态的,开发者无法根据运行时条件(例如用户是否登录)导入模块。从这个版本开始,开发者可以利用 import(specifier)语法在运行时动态加载代码到模块和脚本中。这一功能可用于仅在需要时延迟加载脚本,从而提升应用的性能。 
button.addEventListener('click', event => {
	import	('./dialogBox.js').then(dialogBox => {
		dialogBox.open();
	}).catch(error => {        /* Error handling */
	});
});
 
上面的代码示例显示了如何在某个事件后使用 import(specifier) 函数导入 JavaScript
 
 
异步迭代器和生成器
编写通过异步函数执行任何迭代的代码不是很好的做法。现在,我们推出使用异步迭代协议异步生成器函数,帮助开发者简化流式传输数据源的消耗或实现。异步迭代器可用于 for 循环以及通过异步迭代器工厂创建自定义异步迭代器。
 
async function* getChunkSizes(url) {
    const response = await fetch(url);
    for await (const chunk of streamAsyncIterator(response.body)) {
        yield chunk.length;
    }
}
 
 
上面的代码示例显示了如何使用异步迭代器通过 streamAsyncIterator 函数编写更简洁的代码来流式传输提取的数据。
 
 
 
Blink > Bindings
Blink > CSS
  • 现在,开发者可以使用全新的 Q 长度单位进行像素级调整,这在小视口上特别有用。
  • 开发者现在可以阻止应用使用 Chrome 的拉动刷新功能,或者使用 overscroll-behavior 创建自定义效果,这样,可以在滚动条达到最大限度后更改浏览器的行为。
Blink > Fonts
Blink > HTML
  • 为了改善互操作性,Chrome 将 beforeprintafterprint event 作为打印标准的一部分触发,这让开发者可以注解打印副本以及在打印命令完成执行后编辑注解。
Blink > JavaScript
Blink > MediaStream
Blink > Network
Blink > Sensor
  • 得益于 Intel 工程师的贡献,一项初始试用现已推出,它可以通过全新的 Generic Sensors API 语法公开以下 sensor:Accelerometer, LinearAccelerationSensor, Gyroscope, AbsoluteOrientationSensorRelativeOrientationSensor
Blink > Storage
  • localStoragesessionStorage API 现在使用 getItem() 而不是匿名 getter 函数,因此,尝试使用 getItem() 获取某个键现在将返回 null,而不是 undefined。感谢 Intel 的大力贡献!
  • 为了提升开发者体验,sessionStoragelocalStorage 的相关函数(例如 getItem()removeItem()clear())现在可以枚举。感谢 Intel 让这成为现实!
UI > Browser > Mobile (Android)
 
 
弃用项和互操作性的改善
Blink > Bindings
  • 为了改善互操作性,Promise 类型的实例属性现在将返回被拒绝的 promise,而不是引发异常。
Blink > CSS

Blink > DOM

**

posted @ 2018-01-23 12:48  魔芋铃  阅读(179)  评论(0编辑  收藏  举报