PushManager: registrations() 方法

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

注意:此功能在 Web Workers 中可用。

registrations 方法用于查询系统关于现有推送端点注册的信息。

注意:此方法已被 PushManager.getSubscription() 方法取代。

语法

js
registrations()

参数

无。

返回值

一个 DOMRequest 对象,用于处理方法调用的成功或失败。

如果方法调用成功,请求的 result 将是一个 PushRegistration 对象数组。

PushRegistration

这些对象是具有以下属性的匿名 JavaScript 对象

pushEndpoint

一个表示端点 URL 的字符串。

版本

推送端点的当前版本。

示例

js
const req = navigator.push.registrations();

req.onsuccess = (e) => {
  if (req.result.length > 0) {
    req.result.forEach((result) => {
      console.log(
        `Existing registration ${result.pushEndpoint} ${result.version}`,
      );
    });
    // Reuse existing endpoints.
  } else {
    // Register for a new endpoint.
    const register = navigator.push.register();
    register.onsuccess = (e) => {
      console.log(`Registered new endpoint: ${register.result}`);
    };
  }
};

规范

此功能不再是任何规范的一部分。它已不再有望成为标准。

浏览器兼容性

另见