基本信息
源码名称:PWA离线缓存简单例子
源码大小:31.17M
文件格式:.zip
开发语言:C#
更新时间:2018-06-08
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
self.addEventListener('install', function (e) {
e.waitUntil(
caches.open(cacheName).then(function (cache) {
return cache.addAll(filesToCache);
})
);
});
self.addEventListener("fetch", function (e) {
if (e.request.url.indexOf(dataUrl) === 0) {
return e.respondWith(caches.open(dataCacheName).then(function (cache) {
return fetch(e.request).then(function (response) {
cache.put(e.request.url, response.clone());
return response;
});
}));
} else {
e.respondWith(caches.match(e.request).then(function (response) {
return response || fetch(e.request);
}));
}
});
self.addEventListener("activate", function (e) {
e.waitUntil(caches.keys().then(function (keyList) {
return Promise.all(keyList.map(function (key) {
if (key !== cacheName && key !== dataCacheName) {
return caches.delete(key);
}
}));
}));
});
实现简单的离线缓存页面和数据,google浏览器把页面添加到桌面快速访问
现阶段只有google、Firefox等部分浏览器支持此效果
self.addEventListener('install', function (e) {
e.waitUntil(
caches.open(cacheName).then(function (cache) {
return cache.addAll(filesToCache);
})
);
});
self.addEventListener("fetch", function (e) {
if (e.request.url.indexOf(dataUrl) === 0) {
return e.respondWith(caches.open(dataCacheName).then(function (cache) {
return fetch(e.request).then(function (response) {
cache.put(e.request.url, response.clone());
return response;
});
}));
} else {
e.respondWith(caches.match(e.request).then(function (response) {
return response || fetch(e.request);
}));
}
});
self.addEventListener("activate", function (e) {
e.waitUntil(caches.keys().then(function (keyList) {
return Promise.all(keyList.map(function (key) {
if (key !== cacheName && key !== dataCacheName) {
return caches.delete(key);
}
}));
}));
});