PresentationRequest:getAvailability() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

當呼叫 getAvailability() 方法時,使用者代理必須執行以下步驟

輸入

presentationUrls,一個 表示請求 URL 列表

輸出

P,一個 Promise

  1. 如果以下任一條件成立

    執行以下子步驟

    1. 返回一個以 SecurityError DOMException 拒絕的 Promise
    2. 中止這些步驟。
  2. P 為一個新的 Promise

  3. 返回 P,但繼續 並行 執行這些步驟。

  4. 如果使用者代理無法在 控制瀏覽上下文 的整個持續時間內 監視可用表示顯示器的列表(例如,因為使用者停用了此功能),則

    1. 使用一個 PresentationAvailability 新物件解析 P,該物件的 value 屬性設定為 false
    2. 中止所有剩餘步驟。
  5. 如果使用者代理無法持續 監視可用表示顯示器的列表,但可以找到表示顯示器以啟動連線,則

    1. 使用 NotSupportedError DOMException拒絕 P
    2. 中止所有剩餘步驟。
  6. 如果 可用物件集 中存在一個元組(A, presentationUrls),則

    1. 使用 A解析 P
    2. 中止所有剩餘步驟。
  7. A 為一個 PresentationAvailability 新物件,其 value 屬性按如下方式設定

    1. 如果 可用表示顯示器列表 為空,則為 false
    2. 如果存在一個 presentationUrls 中某個成員的 兼容表示顯示器,則為 true。這意味著在 可用表示顯示器列表 中存在一個條目 (presentationUrl, display),其中 presentationUrlpresentationUrls 中的某個成員。
    3. 否則為 false
  8. 建立一個元組(A, presentationUrls)並將其新增到 可用物件集

  9. 執行 監視可用表示顯示器列表 的演算法。

  10. 使用 A解析 P