【问题标题】:Relay information to the service worker on install在安装时将信息中继给服务人员
【发布时间】:2022-06-10 19:00:49
【问题描述】:

我有一个包含多种不同语言的 PWA,并且希望在安装时仅缓存特定于语言的文件。我找不到在安装过程中将语言传达给服务人员的方法。关于如何做到这一点的想法?

我的启动 service worker 的 js 代码:

navigator.serviceWorker.register('../service-worker.js', { scope: '/' }).then((reg) => {
    console.log('Service worker registered successfully.', reg);
    registration = reg;
}).catch(function (e) {
    console.error('Error during service worker registration:', e);
});

我在 service-worker.js 中的代码:

self.addEventListener('install', function(event) {
    messageAllClients('Event-Install');
    // Perform install steps
    event.waitUntil(
        caches.open(CACHE_NAME).then(function(cache) {
            messageAllClients('Language detected by the service worker: '+language);
            messageAllClients('Pre-caching offline page');
            return cache.addAll(FILES_TO_CACHE);
        })
    );
    self.skipWaiting();
});

【问题讨论】:

标签: javascript service-worker


【解决方案1】:

正如@JeffPosnick 在评论中指出的那样,变量可以在安装via GET attributes 期间传递给服务人员。

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多