比如我有3個(gè)頁(yè)面,1.購(gòu)物車 2.訂單地址和付款方式 3.顯示訂單生成2 -> 3的時(shí)候,就插入訂單數(shù)據(jù),生成訂單信息以及訂單下的商品,并且清空購(gòu)物車對(duì)應(yīng)商品數(shù)據(jù)。
肯定不希望用戶到了最后一個(gè)頁(yè)面,都已經(jīng)生成訂單了,再點(diǎn)瀏覽器的返回按鈕回到前一個(gè)頁(yè)面。
那么在訂單地址頁(yè)面加入:
header("Cache-Control:no-cache,must-revalidate,no-store"); //這個(gè)no-store加了之后,F(xiàn)irefox下有效
header("Pragma:no-cache");
header("Expires:-1");
這個(gè)頁(yè)面不緩存了,并且有個(gè)判斷購(gòu)物車商品為空就跳轉(zhuǎn)到空購(gòu)物車的頁(yè)面,那么用戶點(diǎn)擊瀏覽器后退,回來(lái)之后,也直接到 購(gòu)物車頁(yè)面了。
詳細(xì)說(shuō)明:
點(diǎn)擊后退按鈕,讀取的是瀏覽器里的緩存文件,所以可以利用緩存禁用后退按鈕。
方法:用<head>內(nèi)添加以下代碼。
<meta http-equiv="Expires" content="0">
Expires(期限),說(shuō)明:可以用于設(shè)定網(wǎng)頁(yè)的到期時(shí)間。一旦網(wǎng)頁(yè)過(guò)期,必須到服務(wù)器上重新傳輸。
用法:<meta http-equiv="expires" content="Fri, 12 Jan 2001 18:18:18 GMT">
注意:必須使用GMT的時(shí)間格式。
content="-1",網(wǎng)頁(yè)在任何時(shí)候都不能被Cache存儲(chǔ)。
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
第一次訪問(wèn)網(wǎng)頁(yè)的時(shí)候計(jì)算機(jī)會(huì)自動(dòng)緩存該網(wǎng)頁(yè)的內(nèi)容,第二次訪問(wèn)相同的url,瀏覽器就會(huì)直接把原來(lái)的緩存調(diào)出來(lái),即使你新的網(wǎng)站更新了,顯示出來(lái)的還是早先的那個(gè)版本,如此。如果設(shè)置為no-catch的話,本地就不會(huì)緩存了,即每次請(qǐng)求的都是最新版本。
但加上面三句在IE中有效,在FF中無(wú)效,在FF中在加上下面這句。
<meta http-equiv="Cache-Control" content="no-store">
禁用后退按鈕有許多方法,這個(gè)方法只是其中一種。
