首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型‘navigator.serviceWorker’上不存在navigator.serviceWorker属性'ServiceWorkerRegistration‘

问类型‘navigator.serviceWorker’上不存在navigator.serviceWorker属性'ServiceWorkerRegistration‘
EN

Stack Overflow用户
提问于 2022-10-28 08:03:37
回答 1查看 49关注 0票数 0

我有一个角14.1.1应用程序配置的渐进Web应用程序。当使用以下代码时,我得到了'ServiceWorkerRegistration‘类型上不存在的错误属性'sync’。

代码语言:javascript
复制
navigator.serviceWorker.ready.then(registration => {
    if (registration.sync) { //Error: Property 'sync' does not exist on type 'ServiceWorkerRegistration'.
        // Background Sync is supported.
    } else {
        // Background Sync isn't supported.
    }
});
EN

回答 1

Stack Overflow用户

发布于 2022-10-28 08:34:21

自从背景同步是当前的草案。以来,这些类型还没有倒入类型记录中。

您必须创建自己的定义:

代码语言:javascript
复制
interface SyncManager {
  getTags(): Promise<string[]>;
  register(tag: string): Promise<void>;
}

declare global {
  interface ServiceWorkerRegistration {
    readonly sync: SyncManager;
  }

  interface SyncEvent extends ExtendableEvent {
    readonly lastChance: boolean;
    readonly tag: string;
  }

  interface ServiceWorkerGlobalScopeEventMap {
    sync: SyncEvent;
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74232292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档