Добавление поддержки истории в простую навигацию jQuery AJAX

Я пытаюсь добавить поддержку истории в свою навигацию jQuery AJAX, но, поскольку я плохо знаю jQuery, я не могу понять, как это сделать. Следующий сценарий заменяет a в текущем документе на a из другого документа, тем самым изменяя содержимое страницы. Как я могу улучшить скрипт для поддержки истории браузера и закладок? Спасибо.

$(document).ready(function(){
//References  
var loading = $("#loading");  
var container = $("#container");  
var link;  

//Manage click events  
$("a.ajax-links").click(function(e){  
    //prevent default action  
    e.preventDefault();  

    //show the loading bar  
    showLoading();   

    //define the target and get content then load it to container  
    link = $(this).attr("href") + " #content";  
    container.load(link, hideLoading);
});  

//show loading bar  
function showLoading(){  
    loading  
    .css({visibility:"visible"})  
    .css({opacity:"1"})  
    .css({display:"block"})  
    ;  
}  
//hide loading bar  
function hideLoading(){  
    loading.fadeTo(1000, 0);  
};  

});


person Community    schedule 13.07.2011    source источник
comment
Вы пробовали tkyk.github.com/jquery-history-plugin?   -  person Santiago    schedule 13.07.2011
comment
Показанная демонстрация имеет такие ссылки, как: ‹a href=#1›load 1.html‹/a› , поэтому она не работает без javascript — мой работает, поэтому я ищу что-то, что одновременно деградирует и поддерживает историю и закладки.   -  person    schedule 14.07.2011


Ответы (1)


Попробуйте History.js с ajaxify — он будет использовать API истории HTML5, поэтому он изменяет URL-адреса напрямую, а не с помощью хэшей прочитайте, почему хэши здесь не идеальны, и gist обработает ваши ссылки и ajax за вас.

person balupton    schedule 16.07.2011
comment
я получаю 404 по сути, до н.э. новой структуры URL-адреса gist, обновите ссылку, пожалуйста. - person Valerij; 23.06.2013