ContactsManager
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Экспериментальная функция: Это экспериментальная технология
Тщательно ознакомьтесь со таблицей совместимости с браузерами перед использованием в производстве.
Интерфейс ContactsManager API Выбор контактов позволяет пользователям выбирать записи из своего списка контактов и делиться ограниченными данными выбранных записей с веб-сайтом или приложением.
Функция ContactsManager доступна через глобальное свойство navigator.contacts.
Методы экземпляра
-
select()Экспериментальная -
Возвращает
Promise, который, при разрешении, предоставляет пользователю средство выбора контакта, позволяющее выбрать контакт(ы), который(е) они хотят поделиться. -
getProperties()Экспериментальная -
Возвращает
Promise, который разрешается массивомArraystrings, указывающий, какие свойства контактов доступны.
Примеры
Обнаружение функции
Следующий код проверяет, поддерживается ли API выбора контактов.
const supported = "contacts" in navigator && "ContactsManager" in window;
Проверка поддерживаемых свойств
Следующая асинхронная функция использует метод 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 | |
ContactsManager |
Нет | Нет | Нет | Нет | Нет | 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/ContactsManager