设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 423|回复: 0

service worker chrome谷歌浏览器缓存使用国内cdn公共库加速访问报错sw.js Failed to register

[复制链接]
 成长值: 18

签到天数: 4631 天

[LV.Master]伴坛终老

发表于 2024/7/3 00:20 | 显示全部楼层 |阅读模式 |Google Chrome 126.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
service worker chrome谷歌浏览器缓存使用国内cdn公共库加速访问报错sw.js Failed to register

想把 vendor.js 和 app.js 放在CDN加速,源站服务器就算更新了一个字符,那么整个网站版本会发生改变,用户要重新下载两个巨大的js,要耗费大量源站流量,所以就产生了这个帖子的问题,把js文件放在CDN下,然后页面加载会引起一个CDN跨域行为

错误信息
Uncaught (in promise) DOMException: Failed to register a ServiceWorker: The origin of the provided scriptURL ('https://app.baidu.com') does not match the current origin ('http://localhost/').
(匿名) @ index:1

页面正常,但是无法注册sw缓存,只能使用普通的浏览器缓存

网上查找解决办法
Service-Worker-Allowed 发现不可行,因为这个头是设置存放在不同目录,而不是域名

解决办法, 直接修改 sw.js 的尾巴加个参数,例如 sw.js?1
1.jpg

2.jpg

为什么使用sw,因为正常情况下现在显示是磁盘缓存,一旦使用 sw 加速后则是service worker缓存
1.png

评分

参与人数 1樱币 +2 收起 理由
algoblue + 2 神马都是浮云

查看全部评分

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/9/8 12:38 , Processed in 0.154721 second(s), 23 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表