⑴ 如何清除在瀏覽器 中的js緩存文件
關於瀏覽器緩存
瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的數據。像股票類網站實時更新等,這樣的網站是不要緩存的,像有的網站很少更新,有緩存還是比較好的。今天主要介紹清除緩存的幾種方法。
清理網站緩存的幾種方法
meta方法
?
1
2
3
4
//不緩存
<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,如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
$.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,
?
1
2
3
4
5
6
7
8
9
10
11
$.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
以下是引用片段:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<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
以下是引用片段:
⑵ 靜態網站如何防止js和css緩存
加令牌,如果網站使用WAF防護,比如ShareWAF,就有加令牌的功能,
也可以用JShaman給js代碼加密,
⑶ jquery+ajax+php+js定時刷新問題。現在JS定時刷只能刷第一次,第二次不能讀取資料庫里被更新的值
可能是有緩存了,你可以在調用頁面時加個隨機函有選舉權或當前時間,這樣就可以防止緩存
⑷ JS如何清除IE瀏覽器緩存
一、CSS和JS為什麼帶參數(形如.css?t=與.js?t=)怎樣獲取代碼
css和js帶參數(形如.css?t=與.js?t=)
使用參數有兩種可能:
第一、腳本並不存在,而是服務端動態生成的,因此帶了個版本號,以示區別。 即上面代碼對於文件來說 等價於 但瀏覽器會認為他是 該文件的某個版本!
第二、客戶端會緩存這些css或js文件,因此每次升級了js或css文件後,改變版本號,客戶端瀏覽器就會重新下載新的js或css文件 ,刷性緩存的作用。
第二種情況最多,也可能兩種同時存在。
版本號,可以是一個隨機數,也可以是一個遞增的值,大版本小版本的方式,或者根據腳本的生成時間書寫,比如就是精確到了生成腳本的秒,而 2.3.3 就是大版本小版本的方式。
二、關於瀏覽器緩存
瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的數據。像股票類網站實時更新等,這樣的網站是不要緩存的,像有的網站很少更新,有緩存還是比較好的。今天主要介紹清除緩存的幾種方法。
清理網站緩存的幾種方法
meta方法
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0">123
清理form表單的臨時緩存
方式一:用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
});12345678910111213
方法二,直接用cache:false,
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});123456789101112
方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!
URL 參數後加上 "?ran=" + Math.random(); //當然這里參數 ran可以任意取了eg:
<script>
document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>");
</script>
其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以 12345678
方法四:用隨機時間,和隨機數一樣。
在 URL 參數後加上 "?timestamp=" + new Date().getTime(); 1
用php後端清理
在服務端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)1
方法五:
5、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()">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()">a</a>
</body> </html>
轉載地址:http://www.haorooms.com/post/js_llq_hc
⑸ nest.js 緩存 定時更新
在開發調試web的時候,經常會碰到因瀏覽器緩存(cache)而經常要去清空緩存或者強制刷新來測試的煩惱,提供下apache不緩存配置和nginx不緩存配置的設置。 apache: 首先確定配置文件httpd.conf中確已經載入mod_headers模塊。
Node.js起源於2009年3月。最初Ryan Dahl是為了構建一個高性能的文本伺服器,而node.js是他在尋找一種更高提升web伺服器性能發現的,事件驅動、非阻塞I/O這種方式能更好的提高性能。隨著Nodejs的不斷發展,Nodejs漸漸演變成一種構建網路應用的基礎框架,並發展為一個不共享任何資源的單線程、單進程系統,但包含了很適合網路的庫,這樣Nodejs就為構建大型分布式應用提供了基礎設施。他們的目標都是為了構建快速、可伸縮的網路應用平台。它自身非常簡單、採用通信協議來組織許多的Node,非常容易通過拓展來達成構建大型網路應用的目的。
⑹ 如何自動給CSS、JS添加版本號防止客戶端緩存。
怎麼說呢,個人有個笨點的辦法,就是在代碼中加上JS版本號的全局變數,應用JS時利用後台代碼添加。
這樣更改過JS時,將JS的文件名後邊帶上個自定義的版本號,再將JS版本號的變數修改一下就好了。其他程序由於是動態的讀取JS文件名,所以不用再修改,也不用怕漏改。
⑺ 郁悶,JS被緩存,怎麼讓瀏覽器不緩存
你好朋友你可以使用360安全瀏覽器無痕模式,這樣就不會被緩存。
⑻ javascript腳本緩存怎麼解決
禁用客戶端緩存
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如何解決頁面緩存
你可以再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">
等這四個都是可以的
具體的可以再網路上找到