受影响的图书馆: workbox-sw,workbox-background-sync
浏览器和平台: 例如适用于Android的Google Chrome 70
问题:
在chrome桌面上使用后台同步时,一切都可以正常运行。当我移至移动设备时,后台同步将不会触发,直到我进入chrome://serviceworker-internals
并重新启动工作程序为止。这不应该在移动Chrome中工作吗? chrome在Android上支持后台同步api。
https://www.caniuse.com支持所有功能
这是github上的代码。
https://github.com/kdesimini/httpsprototypingtest
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'
)
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"
};