19

更改哈希时重新加载页面。

我有一个简单的单页网站,上面有几个“页面”。这些页面位于一个宽容器中,当您选择一个时会滚动。我在 URL 中添加了一个哈希,以便您可以直接定位到特定页面。这只是在 style.left 与 switch 语句中的哈希匹配时设置属性。

问题是当我更改 URL 中的哈希值时。例如,将其从 Home.html#Web 更改为 Home.html#Photos。执行此操作时,页面不会重新加载,因此我创建的用于检查哈希的 Setup 函数不会被调用,并且页面会保持原样。

关于强制页面重新加载的方法有什么想法吗?还是更好的解决方案?

谢谢,安迪

4

2 回答 2

26

不要重新加载页面。相反,设置一个onhashchange事件处理程序,并从那里调整左值:

window.onhashchange = function() {
    // do stuff
}

否则,为什么要使用散列链接而不是常规链接?无论如何,如果您真的想重新加载,只需放入window.location.reload()处理onhashchange程序中......

于 2013-09-12T21:42:01.390 回答
-1

我有一个在 $('body').on('click', '.subcategory-link', function () { }); 上触发的 JQuery 函数 在我的情况下,它检测到 URL 是否附加了哈希,所以我保持该功能相同,然后只要检测到哈希更改就使用强制重新加载:下面我编写代码请尝试这个它从我的魅力.

       $(document).ready(function() {    
            $('body').on('click', '.subcategory-link', function () {        var data = $(this).attr('href');
           alert($(this).attr('href'));
           window.location.reload();
           });

});

于 2015-11-18T19:00:33.570 回答