Я понимаю, что заголовок немного расплывчатый и всеобъемлющий, поэтому, пожалуйста, позвольте мне попытаться сузить его.Как построить сайт Ajax в стиле Facebook
Что я хочу, это советы о том, как разработать сайт Ajax в основном, где части пользовательского интерфейса загружаются асинхронно. Вот улов: я хотел бы, чтобы кнопки браузера назад/вперед работали интуитивно - что-то, что Facebook сделал очень хорошо.
Кто-нибудь знает, какие библиотеки и шаблоны проектирования использует Facebook? Учитывая, что они отлично поработали, было бы разумно использовать их в качестве модели, а не пытаться изобрести колесо.
Я заметил, что есть много происходит в URL-адрес хэша:
http://www.facebook.com/home.php?#!/home.php?sk=bd
я уверен, что там должен быть хороший повод для них делать это, и я не удивлюсь, если это то, что я мог бы использовать. Может кто-то указать, что они здесь делают, и для чего используется каждая часть этого ?#!/home.php?sk=bd
? Я особенно удивлен, увидев home.php?sk=bd
, когда исходная страница была загружена home.php
- это, возможно, их способ разрешить ссылки на определенные «страницы», несмотря на то, что все обслуживается home.php
?
Не так важно, чтобы каждый вопрос решался - я действительно просто пытаюсь сообщить, что это такое, что у меня проблемы с пониманием - «большая картина», если хотите. Если кто-то может дать мне более целостный ответ, это было бы потрясающе (особенно, если вы можете сказать мне, как это могло бы быть выполнено с помощью ASP.NET MVC).
Заранее благодарен!
Не ответ, но я считаю, что дублирование пути в hash является решением для пользователей без скриптов, чтобы увидеть связанную страницу, если не справа после нажатия ссылки/закладки. –
О, и кстати, что #! это unescape, который использует Google. Это очень важно отметить, так как вы создадите сайт AJAX. Больше информации здесь: http://searchengineland.com/googles-proposal-for-crawling-ajax-may-be-live-34411 Обратите внимание, что, конечно, он уже работает *. –
Цель «#!» так что URL-адрес может быть изменен с помощью Javascript без браузера, заставляющего перезагружать страницу. Таким образом, вы можете изменить URL-адрес браузера, чтобы он соответствовал вашим вызовам AJAX без перезагрузки страницы. – Jemes