演示:接收器属性

有限可用性

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

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

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

只读 Presentation 属性 receiver 仅在 接收 演示的浏览器上下文中可用,它返回 PresentationReceiver 对象,该对象可用于访问和与控制演示的浏览器上下文进行通信。从接收演示的浏览器上下文之外访问此属性时,该属性始终为 null

如果代码在接收演示的上下文中运行,则返回的值是一个 PresentationReceiver,然后可以使用它与作为演示源的上下文进行通信。

如果当前上下文没有接收演示,则 receivernull

示例

确定上下文是否正在接收演示

您可以通过检查 navigator.receiver 的值来轻松确定上下文是否为演示的接收者。如果它是一个非空值,则上下文确实正在接收演示。如果它为 null,则没有传入的演示。

js
footer.textContent = navigator.receiver ? "Receiving presentation" : "(idle)";

访问连接列表

此示例使用 receiver 来访问传入连接列表并构建和显示这些连接的 ID 字符串列表。

js
let listElem = document.getElementById("connectionview");

navigator.presentation.receiver.connectionList.then((connections) => {
  connections.forEach((aConnection) => {
    listElem.appendChild(document.createElement("li")).textContent =
      aConnection.id;
  });
});

在变量 connectionView 中获得对输出列表元素的访问权限后,navigator.receiver 用于获取对该上下文的 PresentationReceiver 对象的引用,并且它的 connectionList 用于获取一个 Promise,该 Promise 将在列表可用时被调用。

承诺处理程序接收传入连接的数组作为其输入参数。我们使用 forEach() 遍历这些连接,为每个连接向 connectionView 列表元素添加一个新项。

规范

规范
演示 API
# dom-presentation-receiver

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅