明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

完全終結(jié)瀏覽器Cahce頁面的處理方案

[摘要]瀏覽器經(jīng)常Cache你的頁面,這是一個(gè)很麻煩的問題,下面先提出 六種方案來解決一般的問題:(把下面的代碼加入到asp程序的最開始位置) <% response.expires = 0 response.expiresabsolute = Now() - 1 response.addHeade...

瀏覽器經(jīng)常Cache你的頁面,這是一個(gè)很麻煩的問題,下面先提出
六種方案來解決一般的問題:(把下面的代碼加入到asp程序的最開始位置)
<%
response.expires = 0
response.expiresabsolute = Now() - 1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"(或則設(shè)置為Private)
%>
請注意分析上面的方法:
前4種方法可以一般的終結(jié)瀏覽器緩存頁面。但是它們對IE5是無能為力的,
對于IE5只能夠使用第5種方法。上面的方法都是針對IE瀏覽器的,它們告訴
IE瀏覽器關(guān)閉緩存頁面功能。
但是十分不幸的是,即使如此,NetScape瀏覽器還是將緩存頁面。
要最終不讓瀏覽器緩存頁面,在編程的時(shí)候就會付出很多。其實(shí)緩存頁面
對于純粹的HTML頁面來說是很有用的,它可以減輕服務(wù)器的壓力。但是它對于
動態(tài)的asp來說簡直就是災(zāi)難,特別是如果你是開發(fā)一個(gè)電子商務(wù)程序時(shí),例如
一個(gè)購物車程序,你會發(fā)現(xiàn)你訂購的東西突然會莫名其妙的消失了,或者本來已經(jīng)
被刪除掉的貨物怎么會突然出現(xiàn)在購物車內(nèi)呀,所以,往往你會付出很大的代價(jià)
來解決緩存頁面這個(gè)大麻煩:
1。盡量小心使用Response.redirect,不要到處亂用,呵呵。
2。可以使用下面的兩個(gè)函數(shù)替代redirect.用一個(gè)帶?號的url傳遞給函數(shù)
Redirect,這樣每次生成的連接到下一頁的url將不同,不同的url將會讓所有的
瀏覽器終止緩存同一個(gè)頁面的,呵呵,是個(gè)比較有意思的方法。這也是我推薦的
第六種方法。
Function Redirect( NewURL )
If Not IsEmpty( NewURL & "" ) Then
Dim QuestionMark
QuestionMark = Instr( NewURL, "?" )
If QuestionMark = 0 Then
Response.Redirect NewURL & "?" & NoCacheURL()
Response.End
Else
Response.Redirect NEWURL & "&" & NoCacheURL()
Response.End
End If
End If

Function NoCacheURL()
On Error Resume Next
Randomize
' 一般是兩種生成隨機(jī)連接的方法,如果你使用Now()的話,就不用使用Randomize了
NoCacheURL = "NoCache=" & Server.URLEncode(rnd)
' 或則NoCacheURL = "NoCache=" & Server.URLEncode(Now())
End Function
(出處:熱點(diǎn)網(wǎng)絡(luò))