0

Facebookのようにさまざまなページリクエストで読み込まれないメニュー(またはヘッダー)バーを(レールで)作成する方法を考えています。Facebookがこれに使用しているテクノロジーの種類と、そのメカニズムをrails3で複製するにはどうすればよいかについて簡単に説明してください。

4

2 に答える 2

1

この手法はajaxと呼ばれ、すべてのリンクをajaxリクエストとして機能させ、ページの必要な部分のみを更新する必要があります...

レイアウトを2つに分割できます

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

これで、レールのlink_toタグで:remote => trueオプションを使用できるため、リクエストはajaxリクエストになります

次に、.jsビューを提供して、IDが「content」のdivのコンテンツをビューのコードに変更する必要があります。

.jsは次のようなことをする必要があります...(jQueryを使用していると仮定します)

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

それが基本的な考え方です。ajaxで遊ぶ必要があります

FacebookもHTML5のプッシュステートを使用してロケーションアドレスhttps://developer.mozilla.org/en/DOM/Manipulating_the_browser_historyを変更しているので、ブラウザーの戻る/進むボタンを使用できると思います。

于 2012-06-19T19:07:16.663 に答える
1

PJAXは、ページ全体をロードせずに、サーバーから現在のページにhtmlをロードします。これは、実際のパーマリンク、ページタイトル、および完全に機能が低下する作業用の戻るボタンを備えたajaxです。

于 2012-06-19T19:22:25.170 に答える