2011-05-31 104 views
1

我嘗試爲我的選項卡啓用brwoserback按鈕。但問題是,在某些情況下,散列消失。AJAX問題中的瀏覽器後退按鈕

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網絡瀏覽器發生

回答

1

嘗試使用它來代替間隔:

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

我可以在服務器端設置標籤我認爲這是問題?我在PHP中使用PHP – einstein 2011-05-31 12:10:25

+0

否,您無法訪問哈希標記。你可以做的是把JavaScript放在你的文件中。 window.location.hash = what_you_want。這樣,它會一直在那裏,模仿被放在那裏用PHP – locrizak 2011-05-31 12:12:59

+0

好的修復它。我有一個錨href ='index.php'而不是它應該是href ='index.php#tab1' – einstein 2011-05-31 12:13:42