2013-07-21 3 views
1

Как они выполнили эту функцию в теме, где вы нажимаете кнопку постоянной ссылки (eyeball), изменение uri, без хеша (#) Как это делается? это ajax? или что-то другое.URI меняется без перезагрузки?

Я предполагаю, что он вызывает страницу, но не перезагружается?

Тема: http://thingslog-theme.tumblr.com/ (нажмите на глазное яблоко в нижней части каждого поста)

Я в тупик и помочь?

+0

Вы ищете API истории HTML5. – SLaks

ответ

2

Они используют код такого рода:

$('a').click(function() { 
    link = $(this).attr('href') 
    history.pushState({}, '', link); 
    $('#content').load('/content.php?url='+link) 
    return false; 
}) 

с history pushstate function, которые позволяют добавлять и изменять записи предыстории браузера.

0

Мы используем Backstone + HTML5 pushState для обработки изменений URI без хэша. Это работает, потому что мы следим за тем, как Tumblr структурирует свои URL-адреса для всех блогов.

Мы используем jQuery.load, чтобы обрабатывать html и загружать его на страницу.

Этот код выглядит примерно так:

$container.load('http://blog.tumblr.com/post/123 #container', function() { 
    var $post = that.$('.overlay-container .post'); 
    that.view = new App.PostViewFactory.createView($post); 

    that.view.on('close', function() { 
    window.history.back(); 
    }); 
}); 

Надежда, что помогает.

Смежные вопросы