[英]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.