mirror of
https://github.com/RhenCloud/Cloud-Index.git
synced 2025-12-06 07:06:41 +08:00
- 移除 main.js 并替换为8个 JS 模块 - 移除 main.css 并替换为7个 CSS 模块 - 更新 base.html 以加载模块化文件 - 通过 index.css 保持完全向后兼容 - 改进代码组织、可维护性和可复用性
69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
/**
|
|
* Service Worker 和其他工具函数
|
|
*/
|
|
|
|
/**
|
|
* 注销 Service Worker
|
|
*/
|
|
function unregisterServiceWorker() {
|
|
if (!("serviceWorker" in navigator)) {
|
|
return;
|
|
}
|
|
|
|
window.addEventListener("load", () => {
|
|
navigator.serviceWorker
|
|
.getRegistrations()
|
|
.then((registrations) => {
|
|
registrations.forEach((registration) => {
|
|
registration.unregister().then(() => {
|
|
console.log("Service Worker unregistered");
|
|
});
|
|
});
|
|
})
|
|
.catch((error) => {
|
|
console.log("Error unregistering Service Worker:", error);
|
|
});
|
|
|
|
// 清理 Service Worker 相关的缓存
|
|
if ("caches" in window) {
|
|
caches.keys().then((cacheNames) => {
|
|
cacheNames.forEach((cacheName) => {
|
|
caches.delete(cacheName).then(() => {
|
|
console.log("Cache deleted:", cacheName);
|
|
});
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 注册模态框处理程序
|
|
*/
|
|
function registerModalHandlers() {
|
|
const modal = document.getElementById("previewModal");
|
|
if (!modal) {
|
|
return;
|
|
}
|
|
|
|
modal.addEventListener("click", (event) => {
|
|
if (event.target === modal) {
|
|
closePreview();
|
|
}
|
|
});
|
|
|
|
document.addEventListener("keydown", (event) => {
|
|
if (event.key === "Escape" && !isDialogOpen()) {
|
|
closePreview();
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 导出到全局作用域
|
|
*/
|
|
window.UtilityFuncs = {
|
|
unregisterServiceWorker,
|
|
registerModalHandlers,
|
|
};
|