Вопрос по user-interface, facebook, ruby-on-rails, ruby-on-rails-3 – Как создать статическую (не обновляемую) строку меню, например, в Facebook?

0

Мне интересно, как сделать (в рельсах) панель меню (или заголовка), которая не загружается при различных запросах страниц, например, как это делает Facebook. Не могли бы вы вкратце рассказать о том, какие технологии Facebook использует для этого и как я могу воспроизвести этот механизм в rails3?

Ваш Ответ

2   ответа
1

вы должны заставить все ссылки работать как запросы ajax и обновлять только необходимую часть страницы ...

вы можете разделить ваш макет на две части

<div id='header'>
  your code here...
</div>
<div id='content'>
  yield
</div>

теперь вы можете использовать: remote = & gt; Значение true для тега link_to на рельсах, поэтому запрос будет ajax-запросом.

затем вам нужно открыть представление .js, чтобы изменить содержимое div с помощью id & quot; content & quot; с кодом на ваш взгляд

ваш .js должен делать что-то вроде ... (предположим, вы используете jQuery)

$('#content').html('<%= escape_javascript(render(:file => your_file.html.erb)) =>');

это основная идея, вы должны играть с ajax

Я предполагаю, что Facebook также использует HTML5-pushstate, чтобы изменить адрес местоположенияhttps://developer.mozilla.org/en/DOM/Manipulating_the_browser_history так что вы можете использовать кнопки назад / вперед браузера

1

PJAX загружает HTML с вашего сервера на текущую страницу без полной загрузки страницы. Это ajax с реальными постоянными ссылками, заголовками страниц и рабочей кнопкой возврата, которая полностью ухудшается.

Да, это именно то, что я хотел. Спасибо.. Ari53nN3o
Теперь я сталкиваюсь с ситуацией, когда мне нужно загружать JS и CSS-файлы, относящиеся к конкретным страницам, я имею в виду, в зависимости от того, к какому контроллеру обращаются. Но я не могу заставить PJAX загружать файлы JS или CSS. Есть ли решение этой проблемы? Ari53nN3o

Похожие вопросы