2016-03-01 108 views
0

我有一个包含过滤器的网站。每当应用任何过滤器时,我都附加了散列。 例如,我有城市,彩色滤光片。在浏览器中刷新浏览器页面时,请点击更改网址中的哈希值

URL /#的color = red &城市=新德里

现在,当有人点击浏览器的后退此类网址,就变成URL /#的color = red。城市查询字符串被浏览器删除。

问题是页面没有重新加载。

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

但是这是无限地加载页面。

+2

为什么不使用查询字符串'?'而不是页面定位符'#'作为过滤器? –

+0

否其现有的代码。这将是一个很大的改变。我不能这样做。 – maverick

+0

不幸的是,您拥有的HTML无效,需要修复。 –

回答

0

尝试关闭缓存,这样,当你回去,浏览器会自动从服务器获取新的一页......

更多信息here ...

0

您可能不希望听到这个,但你有HTML是无效的,需要通过将锚点#转换为正确的查询字符串?来解决。这将允许浏览器返回并重新加载页面。

您可以使用HTML编辑器中的查找和替换功能来执行此操作。

如果这将导致您实施过滤器的方式出现问题,则需要更新过滤代码。如果您在此发布信息,我们可以帮助解决该问题。

希望有所帮助。 :-)

+0

我已经完成了。静态页面不在浏览器上重新加载。 – maverick