--- title: Clipboard.write() slug: Web/API/Clipboard/write translation_of: Web/API/Clipboard/write ---
{{APIRef("Clipboard API")}}
{{domxref("Clipboard")}} 的方法 write()
写入图片等任意的数据到剪贴板。 这个方法可以用于实现剪切和复制的功能。
但是你要提前获取 "Permissions API" 的 "clipboard-write"
权限才能将数据写入到剪贴板。
注意: 浏览器对这个异步剪贴板的 API 仍然在讨论中。所以在使用它之前请检查 {{anch("Browser compatibility", "compatibility table")}} 和 {{SectionOnPage("/en-US/docs/Web/API/Clipboard", "Clipboard availability")}} 以获得更多的兼容性信息。
var promise = navigator.clipboard.write(dataTransfer)
dataTransfer
当数据被写入到剪贴板的时候,{{jsxref("Promise")}} resolve 回调被执行。如果剪贴板不能完成剪贴操作,{{jsxref("Promise")}} reject 回调被执行。
这个例子展示了如何将当前剪贴板的内容替换为给定的内容。
function setClipboard(text) { let data = new DataTransfer(); data.items.add("text/plain", text); navigator.clipboard.write(data).then(function() { /* success */ }, function() { /* failure */ }); }
代码创建了一个 {{domxref("DataTransfer")}} 对象,要替换的内容存储在这里。执行 {{domxref("DataTransferItemList.add()")}} 将数据写入进去,然后执行 write()
方法,指定执行成功或错误的结果。
规范 | 状态 | 备注 |
---|---|---|
{{SpecName('Clipboard API','#h-clipboard-write-data','write()')}} | {{Spec2('Clipboard API')}} | Initial definition. |
{{Compat("api.Clipboard.write")}}