ClipboardItem: supports() 静的メソッド
Baseline
2025
最近利用可能
March 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
supports() は ClipboardItem インターフェイスの静的メソッドで、クリップボードで指定された MIME タイプが対応している場合は true を返し、そうでない場合は false を返します。
なお、クリップボード API では、プレーンテキスト、HTML、PNG ファイルの対応が必須となっています。
supports() メソッドは、これらの MIME タイプに対しては常に true を返すため、これらを検査する必要はありません。
構文
js
supports(type)
引数
返値
指定された 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> |