繁体   English   中英

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

[英]Update current page URL but maintain the back button state

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

单击颜色时,将显示关联的产品图像。 url哈希也会使用颜色信息进行更新,因此在重新加载页面时,将显示特定的彩色图像。

问题 :当用户单击一堆颜色然后尝试使用“后退”按钮返回到产品列表页面时,URL将根据单击颜色时的状态更改进行更新。 我想更新代码,以便在用户单击“后退”按钮时将其发送回产品列表。

本质上,我想更新url哈希并保持后退按钮的原始状态。

这是我用来更新网址的代码:

window.location.hash = color_parameter

是否可以在不使用window.history / history.js的情况下实现预期的功能? 如果是这样,怎么办? 如果没有,我需要实现什么才能使它正常工作并且仍然对跨浏览器友好?

我宁愿不要在指向document.referrer的html中添加后退按钮

好了,现在我知道有诸如window.location.replace这样的东西了,也许这不再是最好的解决方案,但它仍然是一个解决方案:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM