ASP.NET MVC项目中注释后的JS代码仍执行的问题及解决
注释后的jQuery代码仍执行?清理浏览器缓存解决问题的解析
作为刚接触JavaScript和Ajax的ASP.NET MVC新手,我最近在开发小型CRUD项目时踩了个小坑,分享出来给同样入门的朋友避避坑:
我的问题场景
- 我用jQuery写了控制按钮显示隐藏的代码:
$('#btnUpdate').show();和$('#btnAdd').hide(); - 后来我把这两行代码注释掉了,清理解决方案并重新构建了项目
- 但刷新页面后,这两个按钮的显示状态还是和注释前一样,注释根本没生效
解决办法
直到我手动清理了浏览器的缓存,再刷新页面,注释终于起作用了!
背后的原因
这其实是浏览器的静态资源缓存机制导致的。浏览器为了加快页面加载速度,会把之前请求过的JS、CSS这类静态文件存储在本地缓存中。当我修改了JS代码并重新部署后,浏览器并没有立刻去服务器拉取新的JS文件,而是直接用了缓存里的旧版本——所以我注释掉的代码依然在执行,因为浏览器根本没拿到更新后的代码。
给新手的小建议
- 开发期间,可以打开浏览器开发者工具的Network面板,勾选「禁用缓存」选项,这样每次刷新都会请求最新的资源,不用手动清缓存
- 强制刷新页面(
Ctrl+F5)也能让浏览器忽略缓存,重新加载最新的文件 - 要是部署到生产环境,建议给静态文件加版本号,比如把
script.js改成script.js?v=20240520,这样文件更新时,版本号一变,浏览器就会自动下载新文件,不会再用旧缓存
内容的提问来源于stack exchange,提问作者ken
相关产品推荐
相关产品推荐

