API выбора контактов
Ограниченная доступность
Данная функция не относится к Baseline, так как она не работает в некоторых из наиболее распространённых браузеров.
Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Экспериментальная функция: Это экспериментальная технология.
Перед использованием в рабочей среде тщательно проверьте таблицу совместимости с браузерами.
API выбора контактов позволяет пользователям выбирать записи из своего списка контактов и делиться ограниченными данными выбранных записей с веб-сайтом или приложением.
Примечание: Этот API не доступен в веб-воркерах (не экспонируется через WorkerNavigator).
Концепции и использование API выбора контактов
Доступ к контактам давно является функцией, доступной в настольных приложениях. API выбора контактов предоставляет эту функциональность веб-приложениям.
Примеры использования включают выбор контактов для отправки сообщений через приложение электронной почты или чата, выбор номера телефона контакта для использования с VoIP (голосовой IP-телефонией) или для поиска контактов, которые уже присоединились к социальной платформе. Веб-браузеры также могут предложить согласованный опыт взаимодействия с другими приложениями на устройстве пользователя.
При вызове метода select интерфейса ContactsManager, пользователю предоставляется средство выбора контактов, с помощью которого он может выбрать контактную информацию для обмена с веб-приложением. Требуется взаимодействие пользователя до предоставления разрешения на отображение средства выбора контактов, и доступ к контактам не является постоянным; пользователь должен предоставлять доступ каждый раз, когда приложение запрашивает это.
Этот API доступен только из безопасного контекста верхнего уровня браузера и очень внимательно относится к чувствительности и конфиденциальности данных контактов. Ответственность за выбор данных для обмена лежит на пользователе, и разрешается доступ только к определённым данным для выбранных контактов без доступа к данным других контактов.
Интерфейсы
ContactAddress-
Представляет физический адрес.
ContactsManager-
Предоставляет способ выбора и обмена ограниченными данными контактов с веб-приложением.
-
Возвращает экземпляр объекта
ContactsManager, через который можно получить доступ ко всем остальным функциям.
Примеры
Обнаружение функции
Следующий код проверяет, поддерживается ли API выбора контактов.
const supported = "contacts" in navigator;
Проверка поддерживаемых свойств
Следующая асинхронная функция использует метод getProperties() для проверки поддерживаемых свойств.
async function checkProperties() {
const supportedProperties = await navigator.contacts.getProperties();
if (supportedProperties.includes("name")) {
// run code for name support
}
if (supportedProperties.includes("email")) {
// run code for email support
}
if (supportedProperties.includes("tel")) {
// run code for telephone number support
}
if (supportedProperties.includes("address")) {
// run code for address support
}
if (supportedProperties.includes("icon")) {
// run code for avatar support
}
}
Выбор контактов
В следующем примере устанавливается массив свойств, которые должны быть получены для каждого контакта, а также устанавливается объект параметров, позволяющий выбрать несколько контактов.
Затем определяется асинхронная функция, которая использует метод select() для отображения пользователю интерфейса выбора контактов и обработки выбранных результатов.
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.
}
}
handleResults() — функция, определённая разработчиком.
Спецификации
| Спецификация |
|---|
| API выбора контактов # contacts-manager |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Contact_Picker_API |
Нет | Нет | Нет | Нет | Нет | 80 | Нет | 57 | 14.5 | 14.0–22.0Данный API был экспонирован, но при открытии селектора контактов произошла ошибка. |
80 |
getProperties |
Нет | Нет | Нет | Нет | Нет | 80 | Нет | 57 | 14.5 | 14.0–22.0Данный API был экспонирован, но при открытии селектора контактов произошла ошибка. |
80 |
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/Contact_Picker_API