Clipboard API
剪贴板 Clipboard API 提供了响应剪贴板命令(剪切、复制和粘贴)与异步读写系统剪贴板的能力。从权限 Permissions API 获取权限之后,才能访问剪贴板内容;如果用户没有授予权限,则不允许读取或更改剪贴板内容。
该 API 被设计用来取代使用 document.execCommand()
的剪贴板访问方式。
访问剪贴板
除了在实例化中创建一个 Clipboard
对象,你还可以使用全局的 Navigator.clipboard
来访问系统剪贴板。
js
navigator.clipboard
.readText()
.then(
(clipText) => (document.querySelector(".editor").innerText += clipText),
);
上述代码提取了剪贴板的文本并将其附在 class 为 editor
的第一个元素后面。因为当剪贴板中不是文本时, readText()
(and read()
, for that matter) 会返回一个空字符串,所以这段代码是安全的。
接口
Clipboard
安全上下文-
提供了一个用于读写系统剪贴板上的文本和数据的接口。规范中被称为异步剪贴板 API(Async Clipboard API)。
ClipboardEvent
安全上下文-
表示提供了有关剪贴板修改的信息的事件,也就是
cut
、copy
,和paste
。规范中被称为剪贴板事件 API(Clipboard Event API)。
规范
Specification |
---|
Clipboard API and events # clipboard-interface |
Clipboard API and events # clipboard-event-interfaces |
Clipboard API and events # clipboarditem |
浏览器兼容性
api.Clipboard
BCD tables only load in the browser
api.ClipboardEvent
BCD tables only load in the browser
api.ClipboardItem
BCD tables only load in the browser
参见
- 权限 API:Permissions API
- 使用权限 API