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

View in English Always switch to English

ClipboardItem: supports() 静的メソッド

Baseline 2025
最近利用可能

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

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (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

ブラウザーの互換性

関連情報