改变浏览器PHP中的后退行为

时间:2012-09-07 08:57:56

标签: php session browser

在我的PHP网站中,当用户向他们的购物车添加内容时,我会触发URL更改以在页面上创建一些功能和触发器:

原始网址

/category/product/10

新网址

/category/product/10#addtocartbutton

网址变为

/category/product/10?x=1

方法:

/category/product/10
/category/product/10#addtocartbutton (user clicks an onclick href to submit form)
/category/product/10?x=1 (the form adds the item to the session and appends this URL querystring)

问题在于他们按下bac b

3 个答案:

答案 0 :(得分:2)

Javascript中,使用location.replace代替location.href = 'new location'
看看:http://www.roseindia.net/javascript/javascript-location-replace.shtml
- > location.replace将用新的地址替换当前地址 - >当用户点击后退按钮 - >错误不会发生。

答案 1 :(得分:0)

或尝试使用pushState。你应该能够根据你的需要操纵你的历史。

答案 2 :(得分:0)

一个好主意是让add函数将您重定向回产品页面而不显示查询字符串。由于我不知道您是如何编写添加控制器的,因此很难给出一个确切的代码示例...

编写PHP控制器以添加如下内容:

function add_to_cart()
{
  add $_GET['x'] to session;
  redirect back to product page;
}