ClipboardItem: supports() статический метод
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Статический метод supports() интерфейса ClipboardItem возвращает true, если заданный тип MIME поддерживается буфером обмена, и false в противном случае.
Обратите внимание, что API буфера обмена требует поддержки обычного текста, HTML и файлов PNG. Метод supports() всегда вернёт true для этих типов MIME, поэтому проверять их нет необходимости.
Синтаксис
supports(type)
Параметры
type-
Строка, обозначающая тип MIME для проверки.
Эти типы MIME всегда поддерживаются:
text/plaintext/htmlimage/png
Эти типы MIME могут поддерживаться:
image/svg+xml- Форматы пользовательских типов MIME, начинающиеся с
"web ". Пользовательский тип (без префикса"web "), должен иметь правильный формат для типа MIME.
Значение возврата
true если заданный тип MIME поддерживается буфером обмена, false в противном случае.
Примеры
Запись изображения в буфер обмена
В следующем примере извлекается изображение SVG, представляется как Blob, а затем записывается в буфер обмена.
Мы используем supports() для проверки, поддерживает ли буфер обмена тип MIME "image/svg+xml" перед извлечением изображения и записью его с помощью clipboard.write(). Мы также оборачиваем все тело функции в оператор try...catch для перехвата других ошибок, например, если сам ClipboardItem не поддерживается.
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("Fetched image copied to clipboard.");
} else {
console.log("SVG image not supported by clipboard");
}
} catch (err) {
console.error(err.name, err.message);
}
}
Спецификации
| Спецификация |
|---|
| Clipboard API и события # dom-clipboarditem-supports |
Совместимость с браузерами
| Десктоп | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
supports_static |
121 | 121 | 127 | 107 | Нет | 121 | 127 | 81 | Нет | 25.0 | 121 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem/supports_static