Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新当前页面URL,但保持后退按钮状态_Javascript_Url - Fatal编程技术网

Javascript 更新当前页面URL,但保持后退按钮状态

Javascript 更新当前页面URL,但保持后退按钮状态,javascript,url,Javascript,Url,上下文:我有一个显示产品列表的应用程序。单击产品时,您将进入一个新页面,该页面显示有关该产品的更多信息,包括可用颜色 单击颜色时,将显示关联的产品图像。url散列也会用颜色信息更新,因此当重新加载页面时,会显示特定的颜色图像 问题:当用户单击一组颜色,然后尝试使用“上一步”按钮返回产品列表页面时,url将根据单击颜色时所做的状态更改进行更新。我想更新我的代码,这样当用户单击“上一步”按钮时,他们会被发送回产品列表 基本上,我想更新url散列并保持back按钮的原始状态 这是我用来更新url的代码

上下文:我有一个显示产品列表的应用程序。单击产品时,您将进入一个新页面,该页面显示有关该产品的更多信息,包括可用颜色

单击颜色时,将显示关联的产品图像。url散列也会用颜色信息更新,因此当重新加载页面时,会显示特定的颜色图像

问题:当用户单击一组颜色,然后尝试使用“上一步”按钮返回产品列表页面时,url将根据单击颜色时所做的状态更改进行更新。我想更新我的代码,这样当用户单击“上一步”按钮时,他们会被发送回产品列表

基本上,我想更新url散列并保持back按钮的原始状态

这是我用来更新url的代码:

window.location.hash = color_parameter
不使用
window.history
/history.js是否可以实现预期的功能?如果是,怎么做?如果没有,我需要实现什么才能使这项功能正常工作,并保持跨浏览器友好


我不想在html中添加一个指向
文档的后退按钮。referer

现在我知道有一件事,可能这不再是最好的解决方案,但它仍然是一个解决方案:


解决方法:停止在地址中添加颜色。只需在页面上动态更改颜色即可。可能会发送一个Ajax请求,在服务器会话上保存最新的颜色,以防用户刷新页面。然后在页面刷新时,PHP页面(或ASP或您使用的任何页面)会将最新的颜色打印到JS变量中,并显示相同的颜色,而不会更改地址,也不会损坏“后退”按钮。

您可以尝试类似或的解决方案。就我个人而言,我认为在产品页面上有类似“返回产品列表”的内容会很有意义。@mellamokb-
window.location.replace(window.location.href.split(“#”)[0]+“#”+参数_字符串)
是我一直在寻找的。我猜这个问题是重复的,尽管我在谷歌搜索时没有遇到过。@mellamokb-如果你添加你的评论作为答案,我会接受它作为这个问题的答案。谢谢你的输入,但我需要url中的颜色。实际上,还有许多其他变量(性别、方向等)也插入到url中。这允许用户共享一个链接,该链接能够准确再现“共享者”在屏幕上看到的内容。