BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Google Chrome 51与交叉观察者和证书管理等API一起更新

| 作者 James Chesters 关注 1 他的粉丝 ,译者 薛梦迪 关注 0 他的粉丝 发布于 2016年6月17日. 估计阅读时间: 6 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Google发布了Chrome 51,带来了交叉观察者、被动事件监听和证书管理的API,并且修复了很多安全性上的问题。

关于51稳定发布版中新添加的功能,Google的软件工程师Alexander Surma简单描述了交叉观察者API,说道:“IntersectionObservers能使你知道一个观察的元素进入或退出了浏览器窗口。”

对于开发者们来说,这特别地解决了观察的痛点:需要追踪元素,但是传统的调用getBoundingClientRect()的方式,用Surma的话来说,“慢得令人痛苦”。

Surma提供了下面的例子来说明:

var io = new IntersectionObserver(
	entries => {
		console.log(entries);
	},
	{
		/* Using default options. Details below */
	}
);
// Start observing an element
io.observe(element);

// Stop observing an element
// io.unobserve(element);

// Disable entire IntersectionObserver
// io.disconnect();

“使用IntersectionObserver中默认的设置,你的回调函数会在元素部分进入视图中和完全离开窗口时被调用”,Surma说道。

但是,Surma说这往往还不够,所以阈值选项允许开发者们定义intersectionRatio的阈值。您可以通过访问https://developers.google.com/web/updates/2016/04/intersectionobserver网址来查看更多有关IntersectionObservers的信息。

在最新的稳定发布中,对证书管理API的支持也是新的特性。这允许开发者们存储并取回密码证书和联合证书,其中提供了3个功能:

  • navigator.credentials.get():获取用户的证书,并初始化一个登录流
  • navigator.credentials.store():在证书管理器中存储证书
  • navigator.credentials.requireUserMediation():禁用自动登录

在“使用证书管理API简化登录流”的博客中,开发大使Eiji Kitamura认为API可以使用户只使用一个点击就能够登录、记住用户曾经登录使用过的联合帐户并且在会话过期后负责将用户跳转至登录界面。

在Chrome的实现中,证书会被存储在Chrome的密码管理器中。如果用户登录了Chrome,他们就可以在设备间同步用户密码。那些同步的密码还可以和集成了无缝的跨平台体验的Smart
Lock for Passwords API的安卓应用共享。

Kitamura说,在网页中使用证书管理API会根据架构而有变化,并且几乎不可能在一个博客文章中解释清楚所有可能的情况,即使他只考虑一个典型的单页应用。此API的一个demo可以在这里查看,您也可以访问https://developers.google.com/web/updates/2016/04/credential-management-api来查看API的全部详细信息。

Kitamura还回答了有关证书管理的FAQ,如下:

网页上的JavaScript有没有可能取回原密码?

不可能。你只可以将密码作为PasswordCredential的一部分取回,它不会通过任何方式暴露。

一个id能不能使用证书管理API存储三组数字?

现在还不行。您有关这个功能的反馈我们会高度关注的。

我可以在一个iframe中使用证书管理API吗?

这个API限制于最高层面的环境。在一个iframe中调用.get().store()将会立即执行而没有影响。

我可以将我自己的密码管理Chrome插件和证书管理API集成起来吗?

你也许需要重写navigator.credentials并且将其与你的Chrome插件连接起来,来get()store()证书。

据Google的QA工程师Krishna Govind在稳定版本更新中说,Chrome的51发布版还“包含了许多修改和改进”。在42个独立的安全性问题修补中,9个被列为“高”风险,其中包括了绕行连接至跨源的安全问题(问题CVE-2016-1672CVE-2016-1676)。

Google的开发大使Pete LePage给出了此发布版本的概述,您可以在这里查看:https://youtu.be/LXbtIeHIQJA

查看英文原文Google Chrome 51 Arrives with Intersection Observers, and Credential Management APIs


感谢夏雪对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT