2014-05-25 93 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