Spec-Zone.ru › Web APIs

API для совместного использования веб-страниц

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

API для совместного использования веб-страниц предоставляет механизм для обмена текстом, ссылками, файлами и другим содержимым с произвольной целью совместного использования, выбранной пользователем.

Примечание: Этот API недоступен в Web Workers (не экспонируется через WorkerNavigator).

Примечание: Этот API не следует путать с API для целевых веб-обменов, который позволяет сайту указывать себя в качестве целевого объекта обмена.

Концепции и использование

API для совместного использования веб-страниц позволяет сайту обмениваться текстом, ссылками, файлами и другим содержимым с выбранными пользователем целевыми объектами совместного использования, используя механизмы совместного использования в операционной системе. Эти целевые объекты, как правило, включают буфер обмена системы, электронную почту, приложения для контактов или обмена сообщениями, а также каналы Bluetooth или Wi-Fi.

API имеет всего два метода. Метод navigator.canShare() может быть использован для предварительной проверки того, является ли некоторый набор данных «разделяемым», прежде чем передать его методу navigator.share() для отправки.

Метод navigator.share() вызывает механизм совместного использования операционной системы и передает указанные данные. Он требует временного активирования, поэтому его следует запускать от события пользовательского интерфейса, например, нажатия на кнопку. Кроме того, метод должен указывать данные, поддерживаемые для совместного использования в реализации нативного API.

API для совместного использования веб-страниц регулируется политикой разрешений web-share. Если политика поддерживается, но не предоставлена, оба метода укажут, что данные не являются разделяемыми.

Интерфейсы

Расширения других интерфейсов

navigator.canShare()

Возвращает булево значение, указывающее, являются ли указанные данные разделяемыми.

navigator.share()

Возвращает Promise, который разрешается, если переданные данные успешно отправлены в целевой объект совместного использования. Этот метод должен вызываться при нажатии на кнопку или другом пользовательском действии (требуется временное активирование).

Пример

Код ниже демонстрирует, как можно поделиться ссылкой, используя navigator.share(), вызываемое при нажатии на кнопку.

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

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

// Share must be triggered by "user activation"
btn.addEventListener("click", async () => {
  try {
    await navigator.share(shareData);
    resultPara.textContent = "MDN shared successfully";
  } catch (err) {
    resultPara.textContent = `Error: ${err}`;
  }
});

Данный пример взят из нашего теста совместного использования веб-страниц (посмотреть исходный код). Вы также можете увидеть этот пример в действии по адресу navigator.share().

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

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

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Web_Share_API
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 Нет
Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Web_Share_API
89Поддерживается только в ChromeOS и Windows, см. баг 40542648 и баг 40729163.
93
81–93Поддерживается только в Windows.
71
75Поддерживается только в ChromeOS и Windows, см. баг 40542648 и баг 40729163.
12.1 61 79 48 12.2 8.0 Нет
data_files_parameter 89 81 Нет 75 14 76 Нет 54 14 11.0 Нет
data_text_parameter 89 81 71 75 14 76 Нет 54 14 11.0 Нет

api.Navigator.share

Таблицы BCD загружаются только в браузере

api.Navigator.canShare

Таблицы BCD загружаются только в браузере

См. также

  • API для целевых веб-обменов

© 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/Web_Share_API

Spec-Zone.ru

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