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

瀏覽器相容性