Фоновая синхронизация в Chrome для Android требует перезагрузки сервисного работника для синхронизации - PullRequest
0 голосов
/ 13 декабря 2018

Затрагиваемая библиотека : workbox-sw, workbox-background-sync

Браузер и платформа : Например, Google Chrome 70 для Android

Проблема : При использовании фоновой синхронизации на рабочем столе Chrome все работает ОТЛИЧНО.Когда я перехожу на мобильное устройство, фоновая синхронизация не срабатывает, пока я не войду в chrome://serviceworker-internals и перезапущу работника.Разве это не должно работать в мобильном Chrome?Фоновая синхронизация API поддерживается для Chrome на Android.

Все поддерживается на https://www.caniuse.com

Вот код на GitHub.

https://github.com/kdesimini/httpsprototypingtest

Service-worker.js

importScripts('workbox-3.6.3/workbox-sw.js');
workbox.setConfig({
    debug: false,
    modulePathPrefix: 'workbox-3.6.3/'
});
workbox.skipWaiting();
workbox.clientsClaim();
workbox.precaching.precacheAndRoute([]);    
workbox.routing.registerRoute(
    /(http[s]?:\/\/)?([^\/\s]+\/)/,
    workbox.strategies.networkOnly({
        plugins: [
            new workbox.backgroundSync.Plugin('requestsQueue', {
            maxRetentionTime: 24 * 60 // Retry for max of 24 Hours
                })
            ]
        }),
    'POST'
)

workbox-config.js

module.exports = {
    "globDirectory": "dist/testyo/",
    "globPatterns": [
        "index.html",
        "*.js",
        "*.css"
        ],
        "dontCacheBustUrlsMatching": new RegExp('.+\.[a-f0-9]{20}\..+'),
        "maximumFileSizeToCacheInBytes": 5000000,
        "swSrc": "src/service-worker.js",
        "swDest": "dist/testyo/service-worker.js"
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...