2013-08-29 43 views
0

我在我的網站中使用ajax,並且有一個控制所有鏈接的ajax函數。如何使用ajax,也有browser.back按鈕

是這樣的:

function sendGet(url,dataform){ 
    $.post(url,{_ajax:1},function(data){ 
     $(dataform).html(data); 
     window.location.hash = url; 
    }); 
    return false; 
} 

,並設置散列與網址。

ALSE我有這樣的代碼在文檔加載:

var load_hash = window.setInterval(function(){ 
     if(window.location.hash) sendGet(window.location.hash.substr(1),"#include_content"); 
     clearInterval(load_hash); 
    },1); 

時後退按鈕逼人我要加載的URL的哈希值。

但大部分時間它不工作。 它有時在刷新頁面時有效。

我在做對吧?

如果沒有,有沒有其他方法可以做到這一點?

+0

看看那裏http://stackoverflow.com/questions/3090478/jquery-hash-change-event – Romaindr

回答

1

您可以將事件添加到window對象偵聽hashchange

$(window).bind('hashchange', function() { 
    sendGet(window.location.hash.substr(1),"#include_content"); 
}); 

如果您單擊後退按鈕加載正確的頁面應該工作。