写点什么

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

  • 2016-06-16
  • 本文字数:1597 字

    阅读完需:约 5 分钟

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-1672 CVE-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 )关注我们。

2016-06-16 19:001789
用户头像

发布了 26 篇内容, 共 73749 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

KaiwuDB 受邀亮相“ACDU 中国行”数据库技术沙龙(西安站)

KaiwuDB

KaiwuDB ACDB 中国行

基于大数据、大模型的应用总结与技术心得

joe

taobao.trade.memo.update( 修改交易备注 )丨淘宝店铺订单接口

tbapi

淘宝店铺订单接口 天猫店铺订单接口 淘宝店铺订单交易接口 淘宝店铺订单备注接口 天猫订单备注接口

有了向量数据库,我们还需要 SQL 数据库吗?

Zilliz

sql 向量数据库 zillizcloud rag

西部市场的无限潜力与成都的崛起“2024成都电子信息展会”

AIOTE智博会

电子展 电子信息展 成都电子展

“边缘计算:从概念到实践的探索与思考“

future

GLTF编辑器实现逼真的石门模型

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

SVN客户端:Cornerstone mac版的配置与使用 附Cornerstone许可证

Rose

cornerstone 4破解 Mac版Cornerstone许可证 Cornerstone使用教程 Cornerstone如何配置

IM通讯协议专题学习(十):初识 Thrift 序列化协议

JackJiang

网络编程 即时通讯 IM

重庆中烟:事项会计驱动业财深度融合

用友BIP

业财融合

语音数据集:智能语音技术的燃料与推动力

数据堂

写实风格3D模型材质贴图

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

GLTF 编辑器实现逼真3D动物毛发效果

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

如何使用 Transmit mac高效管理远程文件?

Rose

Transmit下载 Transmit mac使用教程 Mac远程管理软件 Transmit 中文 版

超60%项目来自高校科研院所 | 2023值得关注的硬科技创变者50强重磅发布

创业邦

赴一场AI星河之约:他们改变了什么?

脑极体

AI

来聊聊程序员的职业发展路线

伤感汤姆布利柏

语音数据集:开启智能语音技术的新篇章

数据堂

语音数据集:推动人工智能语音技术的关键要素

数据堂

3D 渲染如何帮助电商促进销售?

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

爆红的PLM!

用友BIP

PLM

苹果Mac图像修图软件Photomator和Pixelmator Pro 有什么区别?

Rose

Pixelmator Pro Mac修图软件 Photomator

哪里有Parallels虚拟机资源?如何安装激活PD虚拟机?

Rose

Mac虚拟机下载 Parallels虚拟机下载 PD虚拟机授权秘钥

阿拉丁「全网小程序创新与发展共话系列峰会·杭州站」完美落幕

极客天地

避坑指南之财务共享服务中心的质量管理

用友BIP

财务共享

Linux操作系统中软件安装:用RPM包管理器安装软件步骤

小魏写代码

家页观察丨万华生态绿色化、工业化、数字化助力城市更新

极客天地

云原生与持续交付:加速软件交付与部署的革命

范艺笙冉

GLTF编辑器-位移贴图实现破碎的路面

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

Topaz Photo AI 在导入图像时冻结 (Mac)

Rose

Topaz Photo AI 无法启动 Mac图像编辑

Google Chrome 51与交叉观察者和证书管理等API一起更新_JavaScript_James Chesters_InfoQ精选文章