勇士吧 - 最全的单机游戏下载与游戏交流社区
  • 热门游戏
  • Quest
  • 工具
  • 圈子
  • PC主机
  • 客服
发布
发布文章创建话题创建版块发布帖子
开通会员
黄金会员
黄金会员
黄金会员开通黄金会员
  • 全站资源折扣购买
  • 部分游戏免费下载
  • 一对一技术指导
  • VIP用户专属客服
开通黄金会员
钻石会员
钻石会员
钻石会员开通钻石会员
  • 全站资源折扣购买
  • 全部游戏免费下载
  • 一对一技术指导
  • VIP用户专属客服
开通钻石会员
    • 开通会员 尊享会员权益
      登录
      注册
      找回密码
  • 热门游戏
  • Quest
  • 工具
  • 圈子
  • PC主机
  • 客服
开通会员 尊享会员权益
登录
注册
找回密码
拍拍星球
排序
    更新浏览点赞评论
节奏快打 Rhythm Fighter-勇士吧

节奏快打 Rhythm Fighter

PC游戏
7个月前
0509

友情链接:网站导航
© 2025 勇士吧. All rights reserved.
数据库查询 4 次 | 耗时 1.175 秒


勇士吧 - 最全的单机游戏下载与游戏交流社区
登录
没有账号?立即注册
用户名或邮箱
登录密码
找回密码
注册
已有账号,立即登录
设置用户名
邮箱
验证码
设置密码
重复密码
邀请码(选填)
// 修改 getCacheStats 函数 function getCacheStats() { return new Promise((resolve) => { if (!navigator.serviceWorker.controller) { resolve(null); return; } try { // 创建一个超时检查 const timeoutId = setTimeout(() => { console.log('getCacheStats 超时'); resolve(null); }, 3000); // 使用消息通道 const messageChannel = new MessageChannel(); // 设置消息处理 messageChannel.port1.onmessage = function(event) { clearTimeout(timeoutId); resolve(event.data); }; // 添加错误处理 messageChannel.port1.onmessageerror = function(error) { console.error('消息通道错误:', error); clearTimeout(timeoutId); resolve(null); }; // 发送消息给 Service Worker navigator.serviceWorker.controller.postMessage({ type: 'GET_CACHE_STATS' }, [messageChannel.port2]); } catch (error) { console.error('getCacheStats 错误:', error); resolve(null); } }); } // 修改 showCacheStatus 函数,添加错误处理 function showCacheStatus() { getCacheStats() .then(stats => { if (stats && stats.hitRate > 0) { console.log(`📊 缓存统计 - 命中率: ${stats.hitRate.toFixed(2)}%, 命中: ${stats.cacheHits}, 未命中: ${stats.cacheMisses}`); } }) .catch(error => { console.error('获取缓存状态失败:', error); }); } // 修改 handleServiceWorkerMessage 函数 function handleServiceWorkerMessage(event) { try { if (!event.data) { console.log('收到空消息'); return; } const { type, data } = event.data; switch (type) { case 'CACHE_UPDATED': console.log('📦 缓存已更新:', data); break; case 'OFFLINE_READY': console.log('📱 离线功能已准备就绪'); break; case 'CACHE_STATS': displayCacheStats(data); break; default: console.log('📨 收到Service Worker消息:', event.data); } } catch (error) { console.error('处理 Service Worker 消息时出错:', error); } } // 修改 setupMessageHandling 函数 function setupMessageHandling(registration) { try { // 监听来自Service Worker的消息 navigator.serviceWorker.addEventListener('message', handleServiceWorkerMessage); // 监听控制器变化 navigator.serviceWorker.addEventListener('controllerchange', function() { console.log('🔄 Service Worker 控制器已更改'); // 添加延迟以防止立即刷新 setTimeout(() => { window.location.reload(); }, 1000); }); return registration; } catch (error) { console.error('设置消息处理时出错:', error); return registration; // 继续返回registration以不中断链式调用 } }