EyeDropper API

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

取色器 API 提供了一个创建取色器工具的机制。使用此工具,用户可以从屏幕上采样颜色,包括浏览器窗口外部的颜色。

概念

创意应用程序通常允许用户从应用程序中的绘图或形状中采样颜色以供重用。Web 应用程序可以使用取色器 API 提供类似的取色器模式,由浏览器提供。

使用此 API,Web 应用程序可以启动取色器模式。启动后,光标会发生变化,以指示用户该模式已激活。然后,用户可以从屏幕上的任何位置选择颜色,或通过按 Escape 键取消取色器模式。

安全和隐私措施

为防止恶意网站在用户未察觉的情况下获取用户屏幕的像素数据,取色器 API 实施了以下措施:

  • API 不允许在没有用户意图的情况下启动取色器模式。EyeDropper.open() 方法只能响应用户操作(例如按钮点击)而调用。
  • 在没有用户意图的情况下无法检索任何像素信息。EyeDropper.open() 返回的 Promise 仅在响应用户操作(点击像素)时解析为颜色值。因此,取色器无法在用户未注意到其在后台运行的情况下使用。
  • 为了帮助用户更容易地注意到取色器模式,浏览器会使其明显可见。正常鼠标光标会在短时间延迟后消失,取而代之的是出现一个放大镜。在取色器模式启动与用户可以选中像素之间也有一个延迟,以确保用户有时间看到放大镜。
  • 用户还可以随时取消取色器模式(通过按下 Escape 键)。

接口

EyeDropper 实验性

EyeDropper 接口表示一个取色器工具的实例,该工具可以由用户打开并用于从屏幕上选择颜色。

规范

规范
EyeDropper API
# eyedropper-interface

浏览器兼容性

另见