ContactsManager: getProperties() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The getProperties()
method of the
ContactsManager
interface returns a Promise
which resolves
with an Array
of strings
indicating which contact
properties are available.
Syntax
getProperties()
Parameters
None.
Return value
Returns a Promise
that resolves with an Array
of strings
naming the contact properties that can be returned by the current system.
Properties can include the following:
'name'
: The contact's name.'tel'
: The telephone number(s) of the contact.'email'
: The email address of the contact.'address'
: The contact's postal address.'icon'
: The avatar of the contact.
Exceptions
No exceptions are thrown.
Examples
>Verify Property Support
The following asynchronous function uses the getProperties()
method to check
whether the current system supports the icon
property.
async function checkProperties() {
const supportedProperties = await navigator.contacts.getProperties();
if (!supportedProperties.includes("icon")) {
console.log("Your system does not support getting icons.");
}
}
Select Using Only Supported Properties
The following example is similar to one for the select()
method. Instead of hard-coding the properties passed to select()
, it uses getProperties()
to ensure that only supported properties are passed. Otherwise, select()
might throw a TypeError
. handleResults()
is a developer defined function.
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.
}
}
Specifications
Specification |
---|
Contact Picker API> # contacts-manager-getproperties> |
Browser compatibility
Loading…