Google在Beta频道发布了最新的Chrome 78,这个版本加入了新的Houdini API,让开发者能以JavaScript扩展CSS,同时也加入新的原生文件系统API,让网页应用程序可以与平台文件系统直接交互,另外,从这个版本开始以Origin Trials方法,安全地实验网页平台新功能。
CSS自定义属性或称CSS变量,可以让开发者在CSS中定义自己的属性,并在全局CSS文件中使用这些元素,虽然这项功能很有用,但是却有一个致命的缺点,这些元素的值可能被意外地复写,因为他们总是从父元素继承值,而且无法进行转换。
而现在CSS自定义属性即将获得CSS属性与值API等级1(CSS Properties and Values API Level 1)的新能力加持,有了Houdini的CSS属性和值API等级1,CSS自定义属性值会被意外复写的缺点便可被克服,开发者可以注册自己的变量作为完全自定义的属性,确保这些属性总是为特殊的类型,并且为其设置默认值,甚至还可以加入动画。
CSS Houdini的目的,是要让开发者可以深入样式,扩展浏览器的渲染引擎的能力。换句话说,CSS Houdini让开发者能够通过JavaScript扩展CSS,而且不会影响性能。
这个能力之所以重要,是因为过去无法以JavaScript扩展CSS,只能撰写JavaScript模仿CSS效果,但是替浏览器补充未实例的CSS,或是加入像是CSS Grid的新功能,都是非常困难,而且很难不影响性能。现在各浏览器开始支持CSS Houdini,而Chrome则是从78版本加入,开发者可以定义类型化的CSS属性,并用来创建新颖的动画效果。
Chrome 78还加入了Origin Trials实验方法,让官方在Chrome中安全地实验网页新功能,官方提到Origin Trials可以让用户试用新功能,并且为开发者社群提供可用性和性能等反馈。
目前Origin Trials加入的实验功能包括了新的原生文件系统API,开发者可以编写能直接和用户本地设备文件系统交互的网页应用程序,包括IDE、照片和视频编辑器或是文本编辑器等。当用户授与访问权限之后,该API就能允许网页应用程序,直接使用平台的打开和存储对话窗口,在用户设备中读取和存储盘案。
另一个Origin Trials中的新功能是SMS接收器API,目前网页使用SMS消息作为验证手机号码的手段,当用户在输入表单时,网页通常会发送一次性的密码到用户手机上,以确定电话号码的正确性。而现在浏览器实例了SMS接收器API,让网站能够以程序化的方式,访问用户手机收到的SMS消息,让用户不再需要手动操作这类手机验证。