Files
win12/sw.js
T
User782Tec ffeaa15e30 v7.3.0 - 桌面小组件、Dock自动隐藏、计算器完善和Windows 更新
- 新增了桌面小组件,可将小组件添加到桌面并调整位置
- 新增了编辑模式,可快捷编辑小组件的位置,并提供了相关的快捷入口
- 新增了窗口全屏且Dock不在使用时自动隐藏的功能
- 为Microsoft Edge浏览器和文件资源管理器新增了后退/前进的功能
- 又双叒叕优化计算器的精度问题与安全性问题
- 重写更新机制,并完善 Windows 更新
- 修复了文件资源管理器中右键文件失效的问题
- 修复了Edge浏览器无法正确进行搜索的问题
- 修复了文件资源管理器中无法正确显示文件夹中文件的问题
- 更换了Python Editor的图标
- 完善了开源说明
- 优化了bios界面
- 其他细节与修复
2023-08-23 21:03:43 +08:00

173 lines
4.4 KiB
JavaScript

let dymanic = [
'api.github.com',
'tjy-gitnub.github.io/win12-theme',
'win12server.freehk.svipss.top',
'assets.msn.cn'
]
this.addEventListener('fetch', function (event) {
event.respondWith(
caches.match(event.request).then(res => {
let fl = false;
dymanic.forEach(d => {
if (event.request.url.indexOf(d) > 0) {
fl = true;
return;
}
});
if (fl) {
console.log('动态请求', event.request.url);
return fetch(event.request);
}
return res ||
fetch(event.request)
.then(responese => {
// console.log(event.request);
const responeseClone = responese.clone();
caches.open('def').then(cache => {
console.log('下载数据', responeseClone.url);
cache.put(event.request, responeseClone);
})
return responese;
})
.catch(err => {
console.log(err);
});
})
)
});
const cacheNames = ['def'];
let nochanges = [
'/win12/fonts/',
'/win12/img/',
'/win12/apps/icons/',
'/win12/jq.min.js',
'/win12/bootstrap-icons.css',
]
let flag = false;
function update(force = false) {
caches.keys().then(keys => {
if (keys.includes('def')) {
caches.open('def').then(cc => {
cc.keys().then(key => {
key.forEach(k => {
let fl = true;
if (force) {
console.log('删除数据', k.url);
return cc.delete(k);
}
nochanges.forEach(fi => {
if (RegExp(fi + '\\S+').test(k.url)) {
fl = false;
return;
}
});
if (fl) {
console.log('删除数据', k.url);
return cc.delete(k);
}
});
});
});
}
});
}
this.addEventListener('message', function (e) {
if (e.data.head == 'update') {
update(true);
}
});
this.addEventListener('activate', update);
// let dongtai=[
// 'api.github.com',
// 'tjy-gitnub.github.io/win12-theme',
// 'win12server.freehk.svipss.top',
// 'assets.msn.cn'
// ]
// this.addEventListener('fetch', function (event) {
// event.respondWith(
// caches.match(event.request).then(res => {
// let fl=false;
// dongtai.forEach(d=>{
// if(event.request.url.indexOf(d)>0){
// fl=true;
// return;
// }
// });
// if(fl){console.log('动态请求',event.request.url);return fetch(event.request);}
// return res ||
// fetch(event.request)
// .then(responese => {
// // console.log(event.request);
// const responeseClone = responese.clone();
// caches.open('def').then(cache => {
// console.log('下载数据', responeseClone.url);
// cache.put(event.request, responeseClone);
// })
// return responese;
// })
// .catch(err => {
// console.log(err);
// });
// })
// )
// });
// const cacheNames = ['def'];
// let nochanges = [
// '/win12/fonts/',
// '/win12/img/',
// '/win12/apps/icons/',
// '/win12/jq.min.js',
// '/win12/bootstrap-icons.css',
// ]
// let flag = false;
// this.addEventListener('activate', function (event) {
// flag = true;
// console.log('开始更新');
// event.waitUntil(
// caches.keys().then(keys => {
// if (keys.includes('def')) {
// caches.open('def').then(cc => {
// cc.keys().then(key => {
// key.forEach(k => {
// let fl = true;
// nochanges.forEach(fi => {
// if (RegExp(fi + '\\S+').test(k.url)) {
// fl = false;
// return;
// }
// });
// if (fl) {
// console.log('删除数据', k.url);
// return cc.delete(k);
// }
// });
// })
// })
// }
// })
// );
// event.waitUntil(
// caches.open('def').then(function (cache) {
// return cache.addAll([
// 'bg-dark.svg'
// ]);
// })
// );
// });
// this.addEventListener('message', function (e) {
// if (e.data.head == 'is_update') {
// if (flag) {
// e.source.postMessage({
// head: 'update'
// });
// flag = false;
// }
// }
// });