Spec-Zone.ru › Web APIs

ContactsManager: метод select()

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

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

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

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

Экспериментально: Это экспериментальная технология
Внимательно проверьте таблицу совместимости браузеров
таблицу совместимости браузеров перед использованием в производстве.

Метод select() интерфейса ContactsManager возвращает Promise, который при разрешении предоставляет пользователю выбор контактов, которые они хотят выбрать для совместного использования. Для разрешения Promise требуется жест пользователя.

Синтаксис

select(properties)
select(properties, options)

Параметры

properties

Массив strings, определяющий, какую информацию нужно извлечь из контакта. Допустимые значения следующие:

  • 'name': Имя контакта.
  • 'tel': Номер(а) телефона контакта.
  • 'email': Электронный адрес контакта.
  • 'address': Почтовый адрес контакта.
  • 'icon': Аватар контакта.
options Необязательно

Доступные параметры:

multiple

Булево значение, позволяющее выбрать несколько контактов. По умолчанию false.

Возвращаемое значение

Возвращает Promise, который разрешается массивом объектов, содержащих контактную информацию. Каждый объект представляет собой отдельный контакт и может содержать следующие свойства:

address

Массив Array объектов ContactAddress, каждый из которых содержит подробности уникального физического адреса.

email

Массив строк, содержащих электронные адреса.

icon

Массив объектов Blob, содержащих изображения человека.

name

Массив строк, каждая из которых содержит уникальное имя человека.

tel

Массив строк, каждая из которых содержит уникальный номер телефона человека.

Исключения

InvalidStateError DOMException

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

SecurityError DOMException

Возвращается, если метод не инициирован активацией пользователя.

TypeError

Возвращается, если properties пусто или если ни одно из указанных свойств не поддерживается.

Безопасность

Временная активация требуется. Пользователь должен взаимодействовать со страницей или элементом пользовательского интерфейса, чтобы эта функция работала.

Примеры

Базовый пример

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

Затем определяется асинхронная функция, которая использует метод select() для представления пользователю интерфейса выбора контактов и обработки выбранных результатов. handleResults() - это функция, определенная разработчиком.

const props = ["name", "email", "tel", "address", "icon"];
const opts = { multiple: true };

async function getContacts() {
  try {
    const contacts = await navigator.contacts.select(props, opts);
    handleResults(contacts);
  } catch (ex) {
    // Handle any errors here.
  }
}

Выбор только поддерживаемых свойств

В следующем примере используется getProperties() для обеспечения того, чтобы передавались только поддерживаемые свойства. В противном случае select() может сгенерировать TypeError. handleResults() - это функция, определенная разработчиком.

const supportedProperties = await navigator.contacts.getProperties();

async function getContacts() {
  try {
    const contacts = await navigator.contacts.select(supportedProperties);
    handleResults(contacts);
  } catch (ex) {
    // Handle any errors here.
  }
}

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

Спецификация
API выбора контактов
# contacts-manager-select

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
select Нет Нет Нет Нет Нет 80 Нет 57 14.5
14.0–22.0Этот API был экспонирован, но при открытии селектора контактов произошел сбой.
80

© 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/ContactsManager/select

Spec-Zone.ru

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