diff --git a/index.html b/index.html index cd473e0..666ee97 100644 --- a/index.html +++ b/index.html @@ -1,3 +1,4 @@ + PCDN diff --git a/main.js b/main.js index b1d7e59..f75ff3a 100644 --- a/main.js +++ b/main.js @@ -21,9 +21,13 @@ //pcdn.get('xxx.jpg').then(file => {}) if ('serviceWorker' in navigator) { + navigator.serviceWorker.addEventListener('message', event => { + console.log('收到消息 Service Worker: ', event.data) // 接收消息 + event.source.postMessage('Hello from main thread') // 回应 Service Worker + }) navigator.serviceWorker.register('/sw.js').then((registration) => { - console.log('Service Worker 注册成功: ', registration) + console.log('Service Worker 注册成功: ') }).catch((error) => { - console.log('Service Worker 注册失败: ', error) + console.log('Service Worker 注册失败: ') }) } diff --git a/sw.js b/sw.js index 20e74d2..9e7a71b 100644 --- a/sw.js +++ b/sw.js @@ -1,11 +1,20 @@ self.addEventListener('install', (event) => { - console.log('Service Worker 安装') + console.log('Service Worker 安装') }) self.addEventListener('activate', (event) => { - console.log('Service Worker 激活') + console.log('Service Worker 激活') }) self.addEventListener('fetch', (event) => { - console.log('Fetch intercepted for:', event.request.url) -}) \ No newline at end of file + console.log('Fetch intercepted for:', event.request.url) + self.clients.matchAll().then(clients => { + clients.forEach(client => { + client.postMessage('Hello from Service Worker') + }) + }) +}) + +self.addEventListener('message', event => { + console.log('收到主线程消息: ', event.data) +})