联系人管理器:getProperties() 方法

可用性有限

此功能不是基线功能,因为它在一些最广泛使用的浏览器中无法正常工作。

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

实验性:这是一个实验性技术
在生产环境中使用之前,请仔细查看浏览器兼容性表

getProperties() 方法是 ContactsManager 接口的方法,它返回一个 Promise,该 Promise 解析为一个 Array,其中包含指示可用联系人属性的 字符串

语法

js
getProperties()

参数

此方法不接收任何参数。

返回值

返回一个 Promise,该 Promise 解析为一个 Array,其中包含命名当前系统可以返回的联系人属性的 字符串

属性可以包括以下内容

  • '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

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。