我有一个小脚本可以从网址中删除哈希,但是这会引起问题。因为我正在影响历史记录,所以它不允许用户使用浏览器中的“后退”按钮返回到他们所在的上一页。有没有可能更干净的方法来做到这一点?

//Tab links in navbar:
$(document).ready(function() {
    function navHash() {
        var hash = document.location.hash;
        if (hash) {
            history.pushState('', document.title, window.location.pathname);
            $('.nav-stacked a[href="'+hash+'"]').tab('show');
        }
    }
    navHash();
    $(window).on('hashchange', navHash)
});

最佳答案

以防万一其他人偶然发现了这个问题,下面是更正的代码。

//Tab links in navbar:
$(document).ready(function() {
    function navHash() {
        var hash = document.location.hash;
        if (hash) {
            history.replaceState('', document.title, window.location.pathname);
            $('.nav-stacked a[href="'+hash+'"]').tab('show');
        }
    }
    navHash();
    $(window).on('hashchange', navHash)
});

09-25 17:57