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

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

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

瀏覽器經(jīng)常Cache你的頁面,這是一個很麻煩的問題,下面先提出
六種方案來解決一般的問題:(把下面的代碼加入到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瀏覽器還是將緩存頁面。
要最終不讓瀏覽器緩存頁面,在編程的時候就會付出很多。其實緩存頁面
對于純粹的HTML頁面來說是很有用的,它可以減輕服務(wù)器的壓力。但是它對于
動態(tài)的asp來說簡直就是災(zāi)難,特別是如果你是開發(fā)一個電子商務(wù)程序時,例如
一個購物車程序,你會發(fā)現(xiàn)你訂購的東西突然會莫名其妙的消失了,或者本來已經(jīng)
被刪除掉的貨物怎么會突然出現(xiàn)在購物車內(nèi)呀,所以,往往你會付出很大的代價
來解決緩存頁面這個大麻煩:
1。盡量小心使用Response.redirect,不要到處亂用,呵呵。
2?梢允褂孟旅娴膬蓚函數(shù)替代redirect.用一個帶?號的url傳遞給函數(shù)
Redirect,這樣每次生成的連接到下一頁的url將不同,不同的url將會讓所有的
瀏覽器終止緩存同一個頁面的,呵呵,是個比較有意思的方法。這也是我推薦的
第六種方法。
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
' 一般是兩種生成隨機連接的方法,如果你使用Now()的話,就不用使用Randomize了
NoCacheURL = "NoCache=" & Server.URLEncode(rnd)
' 或則NoCacheURL = "NoCache=" & Server.URLEncode(Now())
End Function
(出處:熱點網(wǎng)絡(luò))