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