在历史记录中更改document.location.hash

时间:2013-06-16 10:29:41

标签: javascript

在按下参考“购买”的产品列表页面上,我在Ajax的帮助下将文章添加到购物车,并将文章ID放到document.location.hash。 当我从购物车中删除文章并在浏览器中“返回”按钮的帮助下返回时,我需要从产品列表页面上的location.hash中删除产品ID。 有可能吗?

1 个答案:

答案 0 :(得分:2)

不。您无法通过设计修改浏览器中的历史记录,想象一下可能会产生哪些安全影响?例如,您可以将某些内容推送到历史记录中并发出history.back()以将用户发送到任何您想要的位置!!

您必须使用某个状态控制器处理会话服务器端的后退按钮。

添加:当用户点击后退按钮时,页面将从cahce或服务器中检索,具体取决于标题信息等。只要代码开始运行,浏览器就已经呈现了页面。然后修改位置对象将导致额外的页面加载/重新加载。如果您知道ID无效,则无需从位置哈希中删除它,您可以在服务器代码中处理它。