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-
Массив строк, каждая из которых содержит уникальный номер телефона человека.
Исключения
-
InvalidStateErrorDOMException -
Возвращается, если контекст просмотра не является верхнеуровневым, если всплывающее окно выбора контактов отображает флажок, обозначающий уже существующее всплывающее окно выбора контактов, так как в любой момент времени может существовать только одно всплывающее окно, или если запуск всплывающего окна выбора контактов не удался.
-
SecurityErrorDOMException -
Возвращается, если метод не инициирован активацией пользователя.
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