静态网更新后,总是读取本地缓存怎么办?

新手上路,请多包涵

静态网更新后,总是读取本地缓存。需要按F5才能显示新内容。
在html页面引用的CSS和JS后面加上版本号,问题依旧。
<script type="text/javascript" src="Static/mimi/js/jquery.js?version=1.2.9" ></script>
<link rel="stylesheet" href="Static/mimi/css/main.css?v=1.3.9">
请各位大佬赐教。本人小白刚刚接触,没有系统学习。
肯定请大佬们尽量描述的详细点,拜托了。

阅读 2.4k
3 个回答
新手上路,请多包涵

尝试一下这个

<script>
        document.write('<script src="test.js?timestamp='+new Date().getTime()+'" type="text/javascript" charset="utf-8"><\/script>');
</script>

加了参数不会用旧的了吧,每次升级之后,version=1.2.9 不一样就不会用缓存的
保证每次升级之后,js后面的version不一样就行

如果加了随机参数,应该不会被缓存.

可能原因,html页面是缓存

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

可以添加这句测试下.

提外一句,f5刷新本质, 当用户在按 F5 进行刷新的时候,会忽略 Expires/Cache-Control 的设置,会再次发送请求去服务器请求,而 Last-Modified/Etag 还是有效的,服务器会根据情况判断返回 304 还是 200;而当用户使用 Ctrl+F5 进行强制刷新的时候,只是所有的缓存机制都将失效,重新从服务器拉去资源.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题