EyeDropper: open() 方法

可用性有限

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

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

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

EyeDropper.open() 方法会启动取色器模式,并返回一个 Promise。一旦用户选择了颜色并退出了取色器模式,该 Promise 就会被 fulfilled。

语法

js
open()
open(options)

参数

options 可选

一个用于传递 AbortSignal 信号的 options 对象

signal 可选

一个 AbortSignal。当调用 AbortSignalabort() 方法时,取色器模式将被中止。

返回值

一个 Promise,当用户从屏幕上选择一个像素颜色后,该 Promise 最终会 resolve。

该 Promise resolve 为一个具有以下属性的对象

sRGBHex

一个字符串,表示所选颜色的十六进制 sRGB 格式(#aabbcc)。

异常

异常不会被抛出,而是当 Promise 被 reject 时返回。

NotAllowedError DOMException

如果 open() 不是通过 用户瞬时激活 调用,则会抛出此异常。

InvalidStateError DOMException

如果另一个取色器已经打开,则会抛出此异常。

AbortError DOMException

如果用户通过按 Esc 键中止选择,或者作为参数传递给 open()AbortController 中止了选择,则会抛出此异常。

OperationError DOMException

如果由于其他原因导致选择失败,则会抛出此异常。

规范

规范
EyeDropper API
# dom-eyedropper-open

浏览器兼容性

另见