このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ClipboardItem: supports() 静的メソッド

Baseline 2025
最近利用可能

March 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

supports()ClipboardItem インターフェイスの静的メソッドで、クリップボードで指定された MIME タイプが対応している場合は true を返し、そうでない場合は false を返します。

なお、クリップボード API では、プレーンテキスト、HTML、PNG ファイルの対応が必須となっています。 supports() メソッドは、これらの MIME タイプに対しては常に true を返すため、これらを検査する必要はありません。

構文

js
supports(type)

引数

type

検査対象の MIME タイプを示す文字列。

次の MIME タイプは常に対応しています。

  • text/plain
  • text/html
  • image/png

次の MIME タイプに対応している場合があります。

  • image/svg+xml
  • "web " で始まる独自の MIME タイプの形式。 独自のタイプ("web " という接頭辞を除く)は、MIME タイプとして正しい形式でなければなりません。

返値

指定された MIME タイプがクリップボードで対応している場合は true、そうでない場合は false を返します。

クリップボードへの画像の書き込み

次の例では、SVG 画像を取得し、それを Blob として表した後、クリップボードに書き込みます。

ここでは、supports() を使用して、クリップボードが "image/svg+xml" の MIME タイプに対応しているかどうかを調べます。それから画像を読み取り、clipboard.write() を使用してクリップボードに書き込みます。 また、関数本体を try...catch 文で囲み、例えば ClipboardItem 自体に対応していない場合など、その他のあらゆるエラーを捕捉します。

js
async function writeClipImg() {
  try {
    if (ClipboardItem.supports("image/svg+xml")) {
      const imgURL = "/my-image.svg";
      const data = await fetch(imgURL);
      const blob = await data.blob();
      await navigator.clipboard.write([
        new ClipboardItem({
          [blob.type]: blob,
        }),
      ]);
      console.log("読み込んだ画像をコピーしました。");
    } else {
      console.log("SVG 画像はクリップボードで対応していません。");
    }
  } catch (err) {
    console.error(err.name, err.message);
  }
}

仕様書

仕様書
Clipboard API and events
# dom-clipboarditem-supports

ブラウザーの互換性

関連情報