Javascript AJAX问题中的浏览器后退按钮

Javascript AJAX问题中的浏览器后退按钮,javascript,google-chrome,Javascript,Google Chrome,我尝试为我的选项卡启用brwoserback按钮。但问题是,在某些情况下,散列会消失 function showTab1(){ window.location.hash = 'tab1'; oldHash = window.location.hash; //showTab1 } function showTab2(){ window.location.hash = 'tab2'; oldHash = window.location.hash; //

我尝试为我的选项卡启用brwoserback按钮。但问题是,在某些情况下,散列会消失

function showTab1(){
    window.location.hash = 'tab1';
    oldHash = window.location.hash;
    //showTab1
}
function showTab2(){
    window.location.hash = 'tab2';
    oldHash = window.location.hash;
    //showTab2
}
function checkBrowserBackButtonInHome(){

    setInterval(function(){
        if(window.location.hash != oldHash) {
            //Do something
        }
    }, 50);
} 
showTab1();
然后单击showTab2。当我点击浏览器后退按钮时,散列消失了
index.php
而不是
index.php#tab1

编辑:


这似乎只在chrome web浏览器中发生

尝试使用此选项,而不是间隔:

$(window).bind('hashchange', function() {
  //Do something
});

尝试使用此选项而不是间隔:

$(window).bind('hashchange', function() {
  //Do something
});

我可以在服务器端设置我认为是问题所在的标签吗?我将PHPNo与PHP一起使用,您无法访问哈希标记。您可以做的是将javascript放在文件中的第一件事。window.location.hash=您想要什么。这样,它将永远在那里,并模仿被放在那里与PHPok修复它。我用href='index.php'作为锚定,它应该是href='index.php#tab1'很高兴听到。。您可能仍然应该使用jQuery侦听器,因为它会更有效。我可以在服务器端设置hashtag吗?我认为这就是问题所在?我将PHPNo与PHP一起使用,您无法访问哈希标记。您可以做的是将javascript放在文件中的第一件事。window.location.hash=您想要什么。这样,它将永远在那里,并模仿被放在那里与PHPok修复它。我用href='index.php'作为锚定,它应该是href='index.php#tab1'很高兴听到。。您可能仍然应该使用jQuery侦听器,因为它会更有效。