Don't cache app assets on Cordova or NW.js platforms

Skylar Ittner 4 years ago
parent 7f215b850c
commit c5efd7c3e7

@ -126,6 +126,8 @@ for (i in SETTINGS.weathericons) {
cachedurls.push("assets/images/weather-" + SETTINGS.weathericons[i] + ".svg");
}
var cacheFilled = false;
function fillCache(cachename) {
if ('caches' in window) {
// delete old caches
@ -137,15 +139,22 @@ function fillCache(cachename) {
}));
});
cacheFilled = true; // assume good
caches.open(cachename).then(function (cache) {
for (i in cachedurls) {
cache.add(cachedurls[i]);
try {
cache.add(cachedurls[i]);
} catch (ex) {
cacheFilled = false;
}
}
});
// Do it again in a little while to reduce chance of errors
setTimeout(function () {
fillCache(cachename);
}, 1000 * 30);
// Do it again in a little while
if (!cacheFilled) {
setTimeout(function () {
fillCache(cachename);
}, 1000 * 30);
}
}
}

@ -69,7 +69,9 @@
<script src="cache.js"></script>
<script>
fillCache(SETTINGS.cacheversion);
if (platform_type == "browser") {
fillCache(SETTINGS.cacheversion);
}
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('sw.js').then(function (registration) {
console.log('Service worker registration succeeded:', registration);

@ -5,7 +5,7 @@
*/
var SETTINGS = {
cacheversion: "v1.4.0_3",
cacheversion: "v1.4.0_4",
maptileurls: {
liberty: {
url: "https://maps.netsyms.net/styles/osm-liberty/{z}/{x}/{y}.png",

@ -4,29 +4,33 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
var cachename = "v1.4.0_3";
var cachename = "v1.4.0_4";
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then((resp) => {
return resp || fetch(event.request).then((response) => {
return caches.open(cachename).then((cache) => {
cache.put(event.request, response.clone());
try {
cache.put(event.request, response.clone());
} catch (ex) {
}
return response;
});
});
})
);
});
self.addEventListener('install', function (event) {
event.waitUntil(
caches.open(cachename).then((cache) => {
return cache.addAll([
"https://maps.netsyms.net/styles/osm-liberty/style.json",
"https://maps.netsyms.net/styles/klokantech-terrain/style.json",
"https://maps.netsyms.net/styles/fiord-color/style.json",
"https://maps.netsyms.net/styles/oled-black/style.json"
]);
}));
});
//
//self.addEventListener('install', function (event) {
// event.waitUntil(
// caches.open(cachename).then((cache) => {
// return cache.addAll([
// "https://maps.netsyms.net/styles/osm-liberty/style.json",
// "https://maps.netsyms.net/styles/klokantech-terrain/style.json",
// "https://maps.netsyms.net/styles/fiord-color/style.json",
// "https://maps.netsyms.net/styles/oled-black/style.json"
// ]);
// }));
//});
Loading…
Cancel
Save