首页新闻找找看学习计划

母版页js缓存怎么清理

0
悬赏园豆:5 [已解决问题] 解决于 2019-05-07 09:54

项目中对引用的js缓存清理是在引用路径上添加版本号,但这次的问题是母版页的本页面的<script type="text/javascript"></script>中的js有所修改,这个怎么清理缓存?

但乱红尘的主页 但乱红尘 | 菜鸟二级 | 园豆:392
提问于:2019-04-29 15:13
< >
分享
最佳答案
1
<script type="text/javascript">
    // JavaScript代码,这个浏览器并不会缓存
</script>

应该是缓存了整个这个页面(访问的页面),URL后面加个随机数试下

收获园豆:5
大志若愚 | 小虾三级 |园豆:1062 | 2019-04-29 16:29

这个是母版页的js,其他页面是继承的,我怎么找到url?
Layout = "~/Views/Shared/_LayoutTree.cshtml";子页面只要写这个就可以了,我要在这个后面加随机数吗?

但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-29 16:33

但这个后缀是cshtml啊,不是js

但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-29 16:34

@但乱红尘: 访问的页面的URL加个随机数试下

http://Url?t=123
大志若愚 | 园豆:1062 (小虾三级) | 2019-04-29 16:40

@但乱红尘: 测试下随机数能否解决,不能解决看下是否已更新,更新完成后是否回收应用程序池

大志若愚 | 园豆:1062 (小虾三级) | 2019-04-29 16:41

@大志若愚: 我知道加随机数,是可以的,但往哪加啊,是往引用母版页这句Layout = "~/Views/Shared/_LayoutTree.cshtml"上加,还是母板页ajax跳转的url上加

但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-29 16:54

@大志若愚: 因为这个问题在我手动清缓存的时候,无法再复现,所以我也不知道在哪里加随机数有效果,但是客户不会手动清缓存,我还是要改

但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-29 16:55

@但乱红尘: 试下模板页面加上下面的内容,或者将JS提取出去,也加上版本号

<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>   
大志若愚 | 园豆:1062 (小虾三级) | 2019-04-30 16:37

@大志若愚: 这个不会造成母版页放弃缓存功能了嘛?对性能是不是不好?提取出来到不失一个好方法

但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-30 18:07
其他回答(2)
0

未知缓存刷新最快速

halo.super | 园豆:513 (小虾三级) | 2019-04-29 15:59

刷新不管用的,需要去清理浏览器的js缓存

支持(0) 反对(0) 但乱红尘 | 园豆:392 (菜鸟二级) | 2019-04-29 16:01
1

不一定非要在前端代码中实现,可以利用http协议中的缓存知识呀,后端就接收到请求之后,在response中设置header信息,让客户端知道缓存的资源已经expired(或者说是old version)。如果能操作服务器,也可以缩短静态资源过期的时间(让客户端已经缓存的资源过期),或者配置静态资源不缓存。之后再将服务器修改回来即可。
只是提供一个想法,具体还得看你想怎么做了

寻觅beyond | 园豆:433 (菜鸟二级) | 2019-05-05 21:44

谢谢,提供的思路

支持(0) 反对(0) 但乱红尘 | 园豆:392 (菜鸟二级) | 2019-05-07 09:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册