【发布时间】:2015-01-19 06:25:23
【问题描述】:
在我的应用程序中有一个标题菜单。我们有 5 个菜单项,它们具有相同的页面 url 和不同的哈希值,例如
- 首页 (www.sample.com)
- 品牌页面 1(www.sample.com/test.html#brand1)
- 品牌页面 2(www.sample.com/test.html#brand2)
- 品牌页面 3(www.sample.com/test.html#brand3)
- 品牌页面 4(www.sample.com/test.html#brand4)
所有品牌页面都将导航到同一页面 (test.html),但具有不同的哈希值。
问题:当我从HOME单击品牌页面的任何链接时,页面会自动导航到test.html并检查哈希标签并通过ajax自动加载项目。
但是当我点击品牌页面内的任何品牌页面链接时,页面没有刷新。
【问题讨论】:
-
onhashchange=location.reload.bind(location);
-
谢谢@dandavis 但这在 IE 中不起作用
-
它可以在 IE8+ 中工作,可能需要使用 anon 而不是为 ie8 绑定。也就是说,这似乎是一个非常糟糕的主意,并且破坏了单页网站重新加载每个导航的意义......
-
您是否有特殊需要尝试改变哈希的自然行为?也许使用 url 参数而不是
www.sample.com/test.html?brand1甚至像www.sample.com/test.html?p=0#brand1这样的东西。这样你就不用担心浏览器的兼容性了……
标签: javascript jquery html url hash