1、可以在页面引入的JS文件后面增加日趋,如果不经常改动的文件,可以在每次改动后修改后缀。
2、对于第二种情况,一般的处理方式是在请求的路径后面加上毫秒值,这样每次请求的路径都不一样,但是对于后台来说都是一样的,用来欺骗浏览器,进行实时请求,不调用浏览器缓存。
禁用客户端缓存HTM网页
<METAHTTP-EQUIV="pragma"
CONTENT="no-cache">
<METAHTTP-EQUIV="Cache-Control"
CONTENT="no-cache,must-revalidate">
<META
HTTP-EQUIV="expires"CONTENT="Wed,26Feb199708:21:57
GMT">
ASP网页
<%
Response.Expires=
-1
Response.ExpiresAbsolute=Now()-1
Response.cachecontrol="no-cache"
%>
PHP网页
header("Expires:Mon,26Jul199705:00:00GMT")
header("Cache-Control:no-cache,must-revalidate")
header("Pragma:no-cache")
JSP
response.setHeader("Pragma","No-Cache")
response.setHeader("Cache-Control","No-Cache")
response.setDateHeader("Expires",0)
C#中禁止cache的方法!
Response.Buffer=true
Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1)
Response.Expires=0
Response.CacheControl="no-cache"
加入
<MEATHTTP-EQUIV="Pragma"
CONTENT="no-cache">
不缓存。
一、Expires(期限)
说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。
用法:<METAHTTP-EQUIV="expires"CONTENT="Wed,26Feb1997
08:21:57GMT">
注意:必须使用GMT的时间格式。
二、Pragma(cache模式)
说明:禁止浏览器从本地机的缓存中调阅页面内容。
用法:<META
HTTP-EQUIV="Pragma"CONTENT="no-cache">
注意:这样设定,访问者将无法脱机浏览。
三、脚本实现
<%
response.expires=0
response.expiresabsolute=now()
-1
response.addHeader"pragma","no-cache"
response.addHeader"cache-control","private"
Response.cachecontrol="no-cache"
%>
IE浏览器访问一个网页的时候,首先会到临时文件夹中去寻找和这个网页相关的各个文件(如各种图片)。如果在临时文件夹中找到了一些文件,那么浏览器就会使用这些临时文件夹中的文件,而不去服务器下载这些文件。
不幸的是,我的服务器上的文件是经常变化的,如果IE优先考虑临时文件夹中的文件,那么就不能反映出我服务器上的变化。
现在有两个解决办法,但都有缺陷:
一是使用网页的自刷新,但是刷新速度快的话会有闪烁,不符合我其他方面的要求。
二是在IE设置中设成“每次访问此页时检查”。此时IE不考虑临时文件夹中的内容,直接从服务下载各个文件。但是这种办法需要用户进行设置,对用户来说有点麻烦。而且这样的设置会影响用户访问其他网站的速度。
function loadFile(arr) {let now = new Date()
let timestamp = "?t=" + now.getTime()
let head = document.getElementsByTagName("head")[0]
}
$(function(){
var js_arr=["alert.js","alert.css"]
loadFile(js_arr)
})现在的大多数浏览器都有缓存机制,目的是减少客户端的访问次数,减轻服务器的压力。但是在开发工程中或者是版本更新过程中,缓存机制的存在会使得程序版本已经更新,但是效果不能出现的状况,需要开发人员频繁的清除缓存,并不友好,特此总结以下几种方式(以谷歌为例),仅供参考,如有雷同,不甚荣幸。
1.对于开发者来说,只需要关闭浏览器缓存就可以了。步骤是:浏览器右键打开检查,找到network,下边有Disable cache选项,只要将其打勾即可
2.开发者可以关闭缓存,但是并不能要求所有用户都进行此类操作,此时可以在引用的文件之后拼接随机数或者日期都可以,浏览器就会认为是新的请求,而不会使用缓存中的文件,具体如下(只演示大概思路,具体使用,具体修改):