Spec-Zone.ru › Web APIs

Navigator: метод canShare()

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

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

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

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

Метод canShare() интерфейса Navigator возвращает true, если эквивалентный вызов navigator.share() будет успешным.

Метод возвращает false в случае, если данные нельзя валидировать. Причины невалидности данных включают:

  • Параметр data опущен или содержит только свойства с неизвестными значениями. Обратите внимание, что любые свойства, не распознаваемые пользовательским агентом, игнорируются.
  • URL имеет неправильный формат.
  • Указаны файлы, но реализация не поддерживает совместное использование файлов.
  • Пользовательский агент определит указанные данные как «враждебное совместное использование».

API для совместного использования веб-контента (Web Share API) ограничен политикой разрешений web-share. Метод canShare() вернёт false если разрешение поддерживается, но не предоставлено.

Синтаксис

canShare()
canShare(data)

Параметры

data Необязательно

Объект, определяющий данные для совместного использования. Обычно этот объект с такими же свойствами передаётся в navigator.share(), если этот вызов возвращает true.

Свойства, неизвестные пользовательскому агенту, игнорируются; данные для совместного использования оцениваются только по свойствам, понятным пользовательскому агенту. Все свойства необязательны, но должно быть указано хотя бы одно известное свойство данных, в противном случае метод вернёт false.

Возможные значения:

url Необязательно

Строка, представляющая URL, который будет разделен.

text Необязательно

Строка, представляющая текст, который будет разделен.

title Необязательно

Строка, представляющая заголовок, который будет разделен.

files Необязательно

Массив объектов File, представляющих файлы, которые будут разделены.

Значение результата

Возвращает true , если указанные data могут быть разделены с помощью Navigator.share(), в противном случае false.

Примеры

Отправка URL MDN

Пример использует navigator.canShare() для проверки возможности navigator.share() для совместного использования указанных данных.

HTML

HTML просто создаёт абзац для отображения результата проверки.

<p class="result"></p>

JavaScript

let shareData = {
  title: "MDN",
  text: "Learn web development on MDN!",
  url: "https://developer.mozilla.org",
};

const resultPara = document.querySelector(".result");

if (!navigator.canShare) {
  resultPara.textContent = "navigator.canShare() not supported.";
} else if (navigator.canShare(shareData)) {
  resultPara.textContent =
    "navigator.canShare() supported. We can use navigator.share() to send the data.";
} else {
  resultPara.textContent = "Specified data cannot be shared.";
}

Результат

В поле ниже должно быть указано, поддерживается ли navigator.canShare() в данном браузере, и если да, то можно ли использовать navigator.share() для совместного использования указанных данных:

Пример проверки возможности

Этот метод проверяет, является ли определённое свойство данных допустимым и разрешённым для совместного использования. Если используется единственное свойство data, оно вернёт true только в том случае, если это свойство допустимо и разрешено для совместного использования на платформе.

Код ниже демонстрирует проверку поддержки свойства данных.

// Feature that may not be supported
let testShare = { someNewProperty: "Data to share" };

// Complex data that uses new key
const shareData = {
  title: "MDN",
  text: "Learn web development on MDN!",
  url: "https://developer.mozilla.org",
  someNewProperty: "Data to share",
};

// Test that the key is valid and supported before sharing
if (navigator.canShare(testShare)) {
  // Use navigator.share() to share 'shareData'
} else {
  // Handle case that new data property can't be shared.
}

Спецификации

Спецификация
API для совместного использования веб-контента
# canshare-data-method

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
canShare
89Поддерживается только на ChromeOS и Windows, см. ошибку 40542648 и ошибку 40729163.
93
81–93Поддерживается только на Windows.
96
75Поддерживается только на ChromeOS и Windows, см. ошибку 40542648 и ошибку 40729163.
14 75 96 54 14 11.0 Нет
data_files_parameter 89 81 Нет 75 14 76 Нет 54 14 11.0 Нет
data_text_parameter 89 81 Нет 75 14 76 Нет 54 14 11.0 Нет

См. также

  • navigator.share()

© 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/Navigator/canShare

Spec-Zone.ru

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