クリップボード API

クリップボード API は、クリップボードのコマンド (切り取り、コピー、貼り付け) に応答する機能や、システムクリップボードの非同期の読み取りや書き込みを行う機能を提供します。クリップボードの内容へのアクセスは、 Permissions API によって制限されています。ユーザーの許可がなければ、クリップボードの内容の読み取りや変更は許可されません。

この API は、 document.execCommand() を使用したクリップボードへのアクセスに取って代わるように設計されています。

クリップボードへのアクセス

Clipboard オブジェクトをインスタンス化して生成するのではなく、システムクリップボードにはグローバル変数の Navigator.clipboard を通してアクセスすることができます。

navigator.clipboard.readText().then(
  clipText => document.querySelector(".editor").innerText += clipText);

このスニペットはクリップボードからテキストを読み取り、最初に見つかった editor クラスを持つ要素に追加します。 readText() (および場合によっては read()) はクリップボードにテキストがないときには空文字列を返すので、このコードは安全です。

インターフェイス

Clipboard 安全なコンテキスト用
システムクリップボードに対してテキストやデータを読み書きするインターフェイスを提供します。これは仕様書では 'Async Clipboard API' と呼ばれています。
ClipboardEvent 安全なコンテキスト用
クリップボードの変更に関する情報を提供するイベント、すなわち cut, copy, paste イベントを表します。これは仕様書では 'Clipboard Event API' と呼ばれています。

仕様書

仕様書 状態 備考
Clipboard API and events 草案 初回定義

ブラウザーの互換性

関連情報

Clipboard

If you're able to see this, something went wrong on this page.

ClipboardEvent

If you're able to see this, something went wrong on this page.