ContactsManager: getProperties() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

ContactsManager 接口的 getProperties() 方法返回一个 Promise,该 Promise 会解析为一个 Array,其中包含指示哪些联系人属性可用的 strings

语法

js
getProperties()

参数

无。

返回值

返回一个 Promise,该 Promise 会解析为一个 Array,其中包含可以由当前系统返回的联系人属性名称的 strings

属性可能包括以下内容

  • 'name': 联系人的姓名。
  • 'tel': 联系人的电话号码。
  • 'email': 联系人的电子邮件地址。
  • 'address': 联系人的邮政地址。
  • 'icon': 联系人的头像。

异常

不会抛出任何异常。

示例

验证属性支持

以下异步函数使用 getProperties() 方法检查当前系统是否支持 icon 属性。

js
async function checkProperties() {
  const supportedProperties = await navigator.contacts.getProperties();
  if (!supportedProperties.includes("icon")) {
    console.log("Your system does not support getting icons.");
  }
}

仅使用支持的属性进行选择

以下示例与 select() 方法的示例类似。它没有硬编码传递给 select() 的属性,而是使用 getProperties() 来确保只传递支持的属性。否则,select() 可能会抛出 TypeErrorhandleResults() 是开发人员定义的函数。

js
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-getproperties

浏览器兼容性