繁体   English   中英

更改url中的哈希值时,刷新浏览器上的浏览器后单击

[英]Refresh browser page on browser back click when changing hash value in url

我有一个带有过滤器的网站。 每当应用任何过滤器时,我都会附加哈希。 例如我有城市,彩色滤光片。

URL /#color = red&city = Delhi

现在,当有人在该URL上单击浏览器时,它将变为URL /#color = red。 城市查询字符串被浏览器删除。

问题是页面不会重新加载自身。

$(window).on('hashchange', function () {
    window.location.reload(true);
});

但这无限地加载页面。

试用历史记录API https://developer.mozilla.org/zh-CN/docs/Web/API/History_API

例如

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

尝试关闭缓存,以便当您返回时,浏览器将自动从服务器获取新页面...

更多信息在这里 ...

你可能不爱听这个,但你有HTML是无效的,需要通过转换锚固定#适当的查询字符串? 这将允许浏览器返回并重新加载页面。

您可以使用HTML编辑器中的“查找并替换”来执行此操作。

如果这将对实现过滤器的方式造成问题,则需要更新过滤代码。 如果您在此处发布,我们可以帮助您解决。

希望能有所帮助。 :-)

暂无
暂无

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

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