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