比如我有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">
禁用后退按钮有许多方法,这个方法只是其中一种。