|
瀏覽器經(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) %> 請(qǐng)注意分析上面的方法: 前4種方法可以一般的終結(jié)瀏覽器緩存頁面。但是它們對(duì)IE5是無能為力的, 對(duì)于IE5只能夠使用第5種方法。上面的方法都是針對(duì)IE瀏覽器的,它們告訴 IE瀏覽器關(guān)閉緩存頁面功能。 但是十分不幸的是,即使如此,NetScape瀏覽器還是將緩存頁面。 要最終不讓瀏覽器緩存頁面,在編程的時(shí)候就會(huì)付出很多。其實(shí)緩存頁面 對(duì)于純粹的HTML頁面來說是很有用的,它可以減輕服務(wù)器的壓力。但是它對(duì)于 動(dòng)態(tài)的asp來說簡(jiǎn)直就是災(zāi)難,特別是如果你是開發(fā)一個(gè)電子商務(wù)程序時(shí),例如 一個(gè)購物車程序,你會(huì)發(fā)現(xiàn)你訂購的東西突然會(huì)莫名其妙的消失了,或者本來已經(jīng) 被刪除掉的貨物怎么會(huì)突然出現(xiàn)在購物車內(nèi)呀,所以,往往你會(huì)付出很大的代價(jià) 來解決緩存頁面這個(gè)大麻煩: 1。盡量小心使用Response.redirect,不要到處亂用,呵呵。 2?梢允褂孟旅娴膬蓚(gè)函數(shù)替代redirect.用一個(gè)帶?號(hào)的url傳遞給函數(shù) Redirect,這樣每次生成的連接到下一頁的url將不同,不同的url將會(huì)讓所有的 瀏覽器終止緩存同一個(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ò))
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!