Концепция офлайн-сайта Twitter

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

ОБНОВИТЬ

Я видел этот сайт: 1, 2

Мне интересно, как твиттер управляет автономным сайтом. Потому что я попробовал несколько пример для кэширования приложений, и я получил предупреждение в моем браузере Firefox о сохранении страницы. Пока я открываю сайт Twitter в Firefox, это предупреждение не появляется. Что может быть причиной. Я также заметил, что твиттер впервые использует locaStorage. Какова концепция кэширования офлайн-сайтов в Twitter?


person Anand Soni    schedule 24.01.2012    source источник


Ответы (3)


Как уже упоминал Cyberfox, это называется состоянием браузера. JS-фреймворк BackboneJS реализует этот метод за вас: http://documentcloud.github.com/backbone/.

Более конкретно: http://documentcloud.github.com/backbone/#History-start

person Ruben Müller    schedule 24.01.2012

Поскольку Twitter представляет собой сочетание хорошего CSS и AJAX, возможно, jQuery — это то, что вам нужно. (http://jquery.com/)

person Daniel    schedule 24.01.2012
comment
Спасибо, Даниэль. Я использую jQuery в своем текущем приложении. но мне интересно, как страница не загружается при изменении URL-адреса. - person Anand Soni; 24.01.2012
comment
То есть, чтобы быть более конкретным, URL-адрес известен в document.location, объединен в document.location.href или отдельных частях в document.location.protocol, document.location.host и т. д. С учетом этого вы можете изменить URL-адрес и обновить его с помощью document.location.assign(). Надеюсь это поможет. - person Daniel; 24.01.2012

Вам нужны методы истории (pushState, popState) в HTML5 или операции hash-bang в HTML4.

Вот исчерпывающий обзор современного состояния обработки истории и состояния браузера: https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling

...вместе с библиотекой (history.js), которая поможет.

person Cyberfox    schedule 24.01.2012