Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 如何将哈希历史添加到可过滤的投资组合中?_Javascript_Jquery_Html_Filtering - Fatal编程技术网

Javascript 如何将哈希历史添加到可过滤的投资组合中?

Javascript 如何将哈希历史添加到可过滤的投资组合中?,javascript,jquery,html,filtering,Javascript,Jquery,Html,Filtering,我正在为我的网站创建一个可过滤的投资组合。一旦我点击其中一个过滤器,它就会在我的URL末尾显示一个标签。例如,如果单击“设计”,它将显示为www.yourdomain.com/#design 有没有可能使浏览器的后退按钮与此配合使用?也就是说,如果我单击此链接,我会将#design添加到我的当前地址。单击“上一步”按钮后,#design散列将被删除,并将显示选定的最后一页或过滤器。现在“后退”按钮可以工作,但它只显示我在URL中选择的所有过滤器,而不显示在页面上 这有可能吗 下面是我尝试使用的设

我正在为我的网站创建一个可过滤的投资组合。一旦我点击其中一个过滤器,它就会在我的URL末尾显示一个标签。例如,如果单击“设计”,它将显示为www.yourdomain.com/#design

有没有可能使浏览器的后退按钮与此配合使用?也就是说,如果我单击此链接,我会将#design添加到我的当前地址。单击“上一步”按钮后,#design散列将被删除,并将显示选定的最后一页或过滤器。现在“后退”按钮可以工作,但它只显示我在URL中选择的所有过滤器,而不显示在页面上

这有可能吗

下面是我尝试使用的设计示例


谢谢

您可以检测到哈希更改,例如

$(window).on('hashchange', function() {
  console.log('changed to:'+document.location.hash);
});
并相应地采取行动,可能调用您发布的过滤代码

这似乎得到了广泛的支持,

我所描述的简单演示


html5历史对象可以帮助您检测“点击后退”按钮,但并非所有浏览器都支持这一点。是的,您可能想看一看,我确实尝试过,但它可以适当地追溯历史,但是不更新页面内容以反映适合hash@fratyr的内容,这似乎与我试图实现的hashtags不符@sroes@user3019846很粗略的例子,,让我看一看,我会更新。@user3019846我认为它可以正常工作唯一不起作用的是当返回到没有散列的第一页时,只是添加了一个条件来检查它。但这只是一个概念,我相信你可以把它做得更好。现在,一旦我刷新它,它会留在指定的标签上吗@melc@user3019846是的,只需对
document.location.hash的哈希进行初始检查,如果它不是空的,则运行筛选代码。最好是在函数中添加过滤代码,这样会很方便。这在IE<8中不起作用
$(window).on('hashchange', function() {
  console.log('changed to:'+document.location.hash);
});