2014-05-25 92 views
1

通常,當我們從一個部分移動到另一個使用AJAX那麼歷史記錄不會被保存,這就是爲什麼我們不能在瀏覽器中單擊後退按鈕。我以表格格式顯示數據並顯示傳呼鏈接,因此用戶可以查看下一組數據,但最初的歷史記錄未被管理。我經過一個教程,並實現由所謂的jquery.ba-bbq.min.js這樣防止瀏覽器的URL變化管理歷史記錄

$(window).trigger('hashchange'); 

when people click on back/forward button then haschange function is firing 

$(window).bind('hashchange', function (e) { 
    var searchTerm = ''; 
    var pageIndex = e.getState("pageIndex") || 0; 
    pageIndex = parseInt(pageIndex); 
    searchTerm = e.getState("keyword") || ''; 
    if (searchTerm != null && searchTerm != '') { 
     $("input[id*='txtSearch']").val(searchTerm); 
     block(); 
     Search(searchTerm, pageIndex); 
    } 
}); 

JS庫有力地保存歷史這樣調用setHistory()有力數據插入到歷史,當尋呼機鏈接用戶點擊

calling setHistory(1, SearchTerm); 

    function setHistory(pageIndex, SearchTerm) { 
     $.bbq.pushState({ pageIndex: pageIndex, keyword: SearchTerm }); 
    } 

我的代碼工作很好的問題是url在瀏覽器地址欄中發生了變化。 所以我想知道是否有任何方法來保持歷史記錄而不更改地址欄中的網址?

如果可能的話指導我怎麼做,或者也可以指定其他庫,這將維持歷史,但地址不會被改變。感謝

回答

1

如果您希望能夠使用後退按鈕,則沒有。 執行頁面加載或更改位置散列時會存儲歷史記錄。

+0

在我的情況下,當我們將任何東西推入瀏覽器歷史記錄中,然後在url中添加一個#。我如何擺脫? – Mou