JavaScript 学习手册

免费学习 完整知识体系 快速检索

JavaScript学习手册《Service Worker 与 PWA》:Service Worker 是运行在后台的脚本,用于实现离线缓存、推送通知等 PWA(渐进式 Web 应用)功能。 **注册 Service Worker:** ```javascript if ('serviceWorker' in ...

Web API

Service Worker 与 PWA

【详细说明 & 代码示例】
Service Worker 是运行在后台的脚本,用于实现离线缓存、推送通知等 PWA(渐进式 Web 应用)功能。 **注册 Service Worker:** ```javascript if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/sw.js') .then(reg => console.log('注册成功', reg)) .catch(err => console.error('注册失败', err)); } ``` **sw.js 基本结构:** ```javascript const CACHE_NAME = 'v1'; const urlsToCache = ['/', '/styles.css', '/app.js']; // 安装时缓存资源 self.addEventListener('install', event => { event.waitUntil( caches.open(CACHE_NAME) .then(cache => cache.addAll(urlsToCache)) ); }); // 拦截请求,返回缓存 self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request) .then(response => response || fetch(event.request)) ); }); // 更新缓存 self.addEventListener('activate', event => { const cacheWhitelist = [CACHE_NAME]; event.waitUntil( caches.keys().then(cacheNames => { return Promise.all( cacheNames.map(name => { if (!cacheWhitelist.includes(name)) { return caches.delete(name); } }) ); }) ); }); ``` **注意:** Service Worker 必须运行在 HTTPS 下(或 localhost)。

学习提示:建议打开浏览器开发者工具(F12)中的 Console 面板,直接运行代码片段,实时查看输出,加深理解。

全部章节目录(共 48 个知识点)

JavaScript 基础 (1个知识点)

字符串 (1个知识点)

日期与时间 (1个知识点)

错误处理 (1个知识点)

BOM 操作 (1个知识点)

异步编程 (1个知识点)

Promise (1个知识点)

async/await (1个知识点)

Ajax 与请求 (1个知识点)

模块化 (1个知识点)

(1个知识点)

闭包 (1个知识点)

作用域 (1个知识点)

正则表达式 (1个知识点)

框架与库基础 (2个知识点)

使用说明

  • • 本手册涵盖 JavaScript 从基础到 ES6+ 及 Web API 的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议打开浏览器开发者工具(F12)的 Console 面板运行代码,加深理解