blob: ef3cf82beb48626dea98e61dbdc97c95d72ea63c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
title: Clipboard.write()
slug: Web/API/Clipboard/write
translation_of: Web/API/Clipboard/write
---
<p>{{APIRef("Clipboard API")}}</p>
<div> </div>
<p> </p>
<div> </div>
<p><span class="seoSummary">{{domxref("Clipboard")}} 的方法 <strong><code>write()</code></strong> 写入图片等任意的数据到剪贴板。</span> 这个方法可以用于实现剪切和复制的功能。</p>
<p>但是你要提前获取 "<a href="/en-US/docs/Web/API/Permissions_API">Permissions API</a>" 的 <code>"clipboard-write"</code> 权限才能将数据写入到剪贴板。</p>
<div class="note">
<p><strong>注意:</strong> 浏览器对这个异步剪贴板的 API 仍然在讨论中。所以在使用它之前请检查 <a href="#浏览器兼容性">浏览器兼容性</a> 和 {{SectionOnPage("/en-US/docs/Web/API/Clipboard", "Clipboard availability")}} 以获得更多的兼容性信息。</p>
</div>
<h2 id="语法">语法</h2>
<pre class="syntaxbox">var <em>promise</em> = navigator.clipboard.write(<em>dataTransfer</em>)</pre>
<h3 id="参数">参数</h3>
<dl>
<dt><code>dataTransfer</code></dt>
<dd>{{domxref("DataTransfer")}} 对象包含了要写入剪贴板的数据。</dd>
</dl>
<h3 id="返回值">返回值</h3>
<p>当数据被写入到剪贴板的时候,{{jsxref("Promise")}} resolve 回调被执行。如果剪贴板不能完成剪贴操作,{{jsxref("Promise")}} reject 回调被执行。</p>
<h2 id="示例">示例</h2>
<p>这个例子展示了如何将当前剪贴板的内容替换为给定的内容。</p>
<pre class="brush: js">function setClipboard(text) {
let data = new DataTransfer();
data.items.add("text/plain", text);
navigator.clipboard.write(data).then(function() {
/* success */
}, function() {
/* failure */
});
}
</pre>
<p>代码创建了一个 {{domxref("DataTransfer")}} 对象,要替换的内容存储在这里。执行 {{domxref("DataTransferItemList.add()")}} 将数据写入进去,然后执行 <code>write()</code> 方法,指定执行成功或错误的结果。</p>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">规范</th>
<th scope="col">状态</th>
<th scope="col">备注</th>
</tr>
<tr>
<td>{{SpecName('Clipboard API','#h-clipboard-write-data','write()')}}</td>
<td>{{Spec2('Clipboard API')}}</td>
<td>Initial definition.</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p>{{Compat("api.Clipboard.write")}}</p>
|