ClipboardItem: ClipboardItem() コンストラクター
Baseline
2025
最近利用可能
February 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
ClipboardItem() は新しい ClipboardItem オブジェクトを生成します。これは、クリップボード API で保存・取得するデータを表し、それぞれ clipboard.write() と clipboard.read() で操作します。
メモ:
read() および write() メソッドは、テキスト文字列や Blob インスタンスで表される任意のデータアイテムの作業に使用できます。ただし、テキストのみを作業する場合は、Clipboard.readText() および Clipboard.writeText() メソッドを使用したほうが便利です。
メモ:
画像の対応形式はブラウザーによって異なります。Clipboard インターフェイスのブラウザーの互換性一覧表を参照してください。
構文
new ClipboardItem(data)
new ClipboardItem(data, options)
引数
dataoptions省略可-
以下のプロパティを持つオブジェクトです。
presentationStyle省略可-
unspecified、inline、attachmentの 3 つの文字列のうちの 1 つ。デフォルト値はunspecifiedです。inlineは、貼り付けを受け取るアプリに対して、ClipboardItemを貼り付け位置にインラインで挿入すべきであることを示します。attachmentは、貼り付けを受け取るアプリに対して、ClipboardItemを添付ファイルとして追加すべきであることを示します。unspecifiedは、貼り付けを受け取るアプリに対して何の情報も示しません。
例
以下の例では、fetch() を使って PNG 画像をリクエストし、 Response.blob() メソッドを用いて新しい ClipboardItem を生成しています。このアイテムは、 Clipboard.write() メソッドを用いて、クリップボードに書き込まれます。
メモ: 一度に渡すことができるクリップボードのアイテムは 1 つだけです。
async function writeClipImg() {
try {
if (ClipboardItem.supports("image/png")) {
const imgURL = "/my-image.png";
const data = await fetch(imgURL);
const blob = await data.blob();
await navigator.clipboard.write([
new ClipboardItem({
[blob.type]: blob,
}),
]);
console.log("読み込んだ画像をコピーしました。");
} else {
console.log("PNG 画像に対応していません");
}
} catch (err) {
console.error(err.name, err.message);
}
}
仕様書
| 仕様書 |
|---|
| Clipboard API and events> # dom-clipboarditem-clipboarditem> |