【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:001402
用户头像

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

关注

评论

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

Substrate 合约书之合约模型

Patract

智能合约 rust polkadot Patract Wasm

腾讯大神为什么会对这份“redis深度笔记”如此爱不释手?

Java架构师迁哥

程序员快乐的一天!

BinTools图尔兹

程序员 运维 开发 dba 数据库管理工具

iceberg查询加速原理

聚变

Java该怎么学?阿里大佬呕心沥血之作,Java全线成长宝典,从P5到P8一应俱全

Java架构师迁哥

HDFS的动态扩容及动态缩容

五分钟学大数据

hadoop hdfs 4月日更

进公司不会用 Git 拉项目!第二天被开除?

Java架构师迁哥

iOS 面试策略之算法基础4-5节

iOSer

ios 面试 算法面经 算法解析

图查询语言的历史回顾短文

NebulaGraph

数据库 数据库设计 图数据库

推荐25种自媒体运营必备工具 (建议收藏)

科技猫

工具 网站 分享 运营 自媒体

勇夺桂冠!百度智能云获山东电力输电人工智能技术竞赛第一名

百度大脑

百度智能云

交易所合约跟单软件搭建,火币合约跟单平台开发

《彩食鲜 CTO 乔新亮:程序员如何从技术走向管理》(采访提纲)

这就是编程

【科创人】贝锐创始人陈宇晔:花生壳诞生自一次挫折,15年坚守有温度不作恶

科创人

阿里P8亲自讲解!带你一步一步深入Handler源码,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

如何用 Electron + WebRTC 开发一个跨平台的视频会议应用

阿里云视频云

阿里云 音视频 WebRTC Electron 视频云

Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外

阿里巴巴云原生

微服务 开发者 云原生 dubbo 中间件

浅析“分布式锁”的实现方式丨C++后端开发丨底层原理

Linux服务器开发

redis zookeeper 分布式锁 Linux服务器开发 C++后端开发

数据虚拟化引擎openLooKeng介绍

openLooKeng

大数据 数据分析 Bigdata

阿里P8大牛亲自教你!带你快速通过面试,Android岗

欢喜学安卓

android 程序员 面试 移动开发

Java开发9年经验,三轮技术面+HR面试成功砍下阿里巴巴Offer!

Java架构追梦

Java 阿里巴巴 架构 面试

有道写作浏览器扩展实践

有道技术团队

大前端 浏览器 有道云笔记

Spark数据倾斜解决方案

大数据技术指南

spark 4月日更

汽车之家基于 Flink 的数据传输平台的设计与实践

Apache Flink

flink

区块链技术重新定义 物联网的物与物之间的交易

CECBC

发展空间

2021年5个最佳YouTube视频下载器

科技猫

软件 工具 网站 分享 下载youtube视频

微服务转型系列2:微服务转型的三大误区,避坑指南

BoCloud博云

微服务

融云 CTO 杨攀:技术人员如何创业?

Yano

Coinbase上市,对加密市场将带来哪些影响?

CECBC

货币

涨薪5K的Java虚拟机:垃圾回收,Serial GC,卡表你想学吗?

小Q

Java 学习 面试 JVM GC

科技赋能快餐零售商突破瓶颈:英特尔AI技术助力汉堡王打造保护顾客隐私的订单推荐系统

E科讯

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