更改哈希时重新加载页面。
我有一个简单的单页网站,上面有几个“页面”。这些页面位于一个宽容器中,当您选择一个容器时会滚动。我在URL中添加了一个哈希值,以便您可以直接找到特定页面。这只是在匹配switch语句中的散列时设置style.left属性。
问题是当我更改URL中的哈希值时。例如,将其从Home.html #Web更改为Home.html#Photos。执行此操作时,页面不会重新加载,因此我创建的安装程序函数不会调用哈希,页面就会保留原样。
有关强制页面重新加载的方法的任何想法吗?还是更好的解决方案?
谢谢, 安迪
答案 0 :(得分:23)
请勿重新加载页面。相反,设置一个onhashchange
事件处理程序,并从那里调整左值:
window.onhashchange = function() {
// do stuff
}
否则,为什么使用哈希链接而不是常规链接?在任何情况下,如果确实想要重新加载,只需将window.location.reload()
放在onhashchange
处理程序中......
答案 1 :(得分:-1)
我有一个JQuery函数,它触发了$('body')。on('click','。sububcategory-link',function(){});检测到在我的情况下是否有附加到URL的哈希,所以我保持该功能相同,然后只要检测到哈希更改就使用强制重新加载: 下面我写代码请试试这个从我的魅力中消失。
$(document).ready(function() {
$('body').on('click', '.subcategory-link', function () { var data = $(this).attr('href');
alert($(this).attr('href'));
window.location.reload();
});
});