禁用客戶端緩存
HTM網頁
<META HTTP-EQUIV="pragma"
CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control"
CONTENT="no-cache, must-revalidate">
<META
HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57
GMT">
ASP網頁
<%
Response.Expires =
-1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = "no-cache"
%>
PHP網頁
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
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";
加入
<MEAT HTTP-EQUIV="Pragma"
CONTENT="no-cache">
不緩存。
一、Expires(期限)
說明:可以用於設定網頁的到期時間。一旦網頁過期,必須到伺服器上重新調閱。
用法:<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997
08:21:57 GMT">
注意:必須使用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不考慮臨時文件夾中的內容,直接從服務下載各個文件。但是這種辦法需要用戶進行設置,對用戶來說有點麻煩。而且這樣的設置會影響用戶訪問其他網站的速度。
⑵ JS 如何清除頁面緩存
1.動態頁面:index.asp?id=....
2.使用jquery,$.ajaxSetup({cache : false });
3.在html里的head標簽中加
<meta http-equiv ="proma" content = "no-cache"/>
<meta http-equiv="cache-control" content="no cache" />
<meta http-equiv="expires" content="0" />
另外一種:
<html http-equiv="proma" content="no-cache"/>
<html http-equiv="content-type" content="no-cache , must-revalidate"/>
<http http-equiv="expires" content=" Wed , 26 Feb 1997 08:21:57 GMT"/>
另外 ,在提交信息時,總是出現舊的內容,此時就應該考慮是本地瀏覽器緩存的原因了。
清空臨時緩存的方法:
<body onload ="javascript : document.yourFormName.reset()">
⑶ 用js怎樣清除瀏覽器的緩存文件
meta方法
//不緩存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
清理form表單的臨時緩存
<body onLoad="javascript:document.yourFormName.reset()">
其實form表單的緩存對於我們書寫還是有幫助的,一般情況不建議清理,但是有時候為了安全問題等,需要清理一下!
jquery ajax清除瀏覽器緩存
方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
},
success:function(response){
//操作
}
async:false
});
方法二,直接用cache:false,
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});
方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!
URL 參數後加上 "?ran=" + Math.random(); //當然這里參數 ran可以任意取了
方法四:用隨機時間,和隨機數一樣。
在 URL 參數後加上 "?timestamp=" + new Date().getTime();
用php後端清理
在服務端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)
方法五:
window.location.replace("WebForm1.aspx");
參數就是你要覆蓋的頁面,replace的原理就是用當前頁面替換掉replace參數指定的頁面。
這樣可以防止用戶點擊back鍵。使用的是javascript腳本,舉例如下:
a.html
以下是引用片段:
<html>
<head>
<title>a</title>
<script language="javascript">
function jump(){
window.location.replace("b.html");
}
</script>
</head>
<body>
<a href="javascript:jump()" rel="external nofollow" rel="external nofollow" >b</a>
</body>
</html>
b.html
以下是引用片段
<html>
<head>
<title>b</title>
<script language="javascript">
function jump(){
window.location.replace("a.html");
}
</script>
</head>
<body>
<a href="javascript:jump()" rel="external nofollow" rel="external nofollow" >a</a>
</body>
</html>
⑷ 怎麼知道js緩存是否清除掉了
你把瀏覽器的console打開,然後看下你瀏覽器上面的js代碼和你環境裡面寫的代碼是不是一樣的,如果是一樣的那就說明沒有緩存的,如果瀏覽器裡面的代碼是以前的版本,那就說明有緩存。
⑸ js如何解決頁面緩存
你可以再html頁面禁止緩存的啊,比如在html頁面加上標簽
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">
等這四個都是可以的
具體的可以再網路上找到
⑹ js常用的緩存有哪些
具體的時間格式我用的是yyyy-MM-ddHH:mm:ss//判斷時間大小functioncompareDate(d1,d2){return((newDate(d1.replace(/-/g,"\/")))>(newDate(d2.replace(/-/g,"\/"))));}
⑺ 關於調用JS緩存的問題
頁面緩存吧。
設置緩存時間為負數即可。
⑻ js如何獲取緩存
1、創建一個cache.js文件,前端頁面,定義那些數據需要一次性拿到前端緩存,定義一個對象來保存這些數據。
⑼ 如何讓html頁面不緩存,js永久緩存
當瀏覽不同Url時,瀏覽器會自動將當前訪問的地址進行一次緩存;而第二次訪問時著調用緩存下來的頁面,從而達到頁面快速載入(頁面載入優化)的目的;
因此,我們可以給頁面後面設定個不同的值,讓頁面保持沒錯訪問的不同即可達到不緩存的目的了!
下面是個簡單的示例:
復制代碼 代碼如下:
<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>
其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以
最後加一個ajax也不讓緩存的方法
復制代碼 代碼如下:
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);
記得後面的now=" + new Date().getTime()是重點,需要帶參數的。
希望本文所述對大家的javascript程序設計有所幫助。
以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索js , html , 頁面 不緩存 javascript 緩存、javascript 清除緩存、javascript緩存數據、javascript 本地緩存、javascript 緩存機制,以便於您獲取更多的相關知識。
⑽ JS裡面獲取、存儲、刪除緩存裡面的數據的具體代碼是什麼
js如何設置緩存及獲取設置的緩存
代碼如下:
//設置緩存,獲取設置的緩存,鍵值對形式,namevalue
//獲取鍵的值
varr
r=localStorage.getItem("key");
//設置鍵的值
localStorage.setItem("key",1);
//刪除鍵
localStorage.removeItem("key");