Spec-Zone.ru › Web APIs

ClipboardItem: supports() статический метод

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Статический метод supports() интерфейса ClipboardItem возвращает true, если заданный тип MIME поддерживается буфером обмена, и false в противном случае.

Обратите внимание, что API буфера обмена требует поддержки обычного текста, HTML и файлов PNG. Метод supports() всегда вернёт true для этих типов MIME, поэтому проверять их нет необходимости.

Синтаксис

supports(type)

Параметры

type

Строка, обозначающая тип MIME для проверки.

Эти типы MIME всегда поддерживаются:

  • text/plain
  • text/html
  • image/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

См. также

  • Clipboard API
  • Статья об поддержке изображений для Async Clipboard

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API