2012-02-29 17 views
1

私はおそらく非常にばかげた質問です。私は過去数週間Ruby On Railsアプリを書いています。優れたBootstrap/Twitterのコンポーネントを使って、私が何か芸術的なことをするのを避けています。リロードしないナビゲーションバー

このサイトでは、ナビゲーションバーが再読み込みされていないことがわかりました。

非常にトップ(概要、足場など)にあるリンクをクリックする

http://twitter.github.com/bootstrap/javascript.html

ページが変更になり、そしてURLは変更しますが、topbar自体は再ロードする表示されません。

これは(Chromeの開発ツールバーなどを使用して)これを行うAJAX-yを検出できません。私はそれがだと想像することができます:

  • 錯視、ちょうどそれは私がそれを見ることができないので、速いリロードされます。しかし、なぜそれはコンテンツと同時にリロードするように見えないのですか?

  • 上に行くのブラウザのキャッシュのいくつかの並べ替えを行くいくつかの検出不可能なAJAX(あなたがレンダリングされたページ要素のためにそれを行うことができます)
  • 完全に異なる何か

任意の考え大歓迎:)

+1

これは決して変わることはありませんので、光錯視と言います。 – j08691

答えて

2

ページ全体(各タブ)が読み込まれ、ページが読み込まれると非表示になります。

リンクがクリックされたとき(およびJavaScriptがナビゲーションをブロックしているとき)、URLはlocation.hashを使用して変更されます。

ハッシュを変更すると、onhashchangeイベントが実行され、正しいdivが表示されます。ここで

は一例です:http://jsfiddle.net/uFgtS/(。。まあ、私はあなたがURLの変更を見ることができないと思いますファイルにHTML、CSSやJSをコピーし、それを実行)

+0

うーん、私はそれが本当であることを完全には分かっていない。もう一度言うと、私は一番上のバーについて話しています(私はそのページにもタブがあり、どのように動作しているのか分かります)。たとえば、「Base CSS」ページを開いているときに、「Less Less」ページの内容が読み込まれず、リンクをクリックすると上部バーがリロードされません。 –

+0

@JoeWoodhouse:Firebugを見ると、リンクだけで、新しいページに移動します。画像/ CSSはキャッシュされているので、すぐに読み込まれるようです。 –

3

boostrap site'sナビゲーションバーがあるように見えるん再ロード中は静的ですが、それを実行している巧妙なjsではありません。表示されている隠されたコンテンツはありません。

ここで起こっているのは、非常に高速なページの読み込みです。ブーストラップのメンバーは、すべてのjsリンクとスクリプトをhtmlの最下部に移動して、ページの読み込みを高速化し、htmlでもそう言いました。ページは非常に速く読み込まれ、navbarのような特定の要素はまったく変更されないように見えます。私はサイト上でそれを試してみましたが、静的なNavbarの錯覚を見ています。

多分、あなたのjsとスクリプトをあなたのhtmlの底に動かすと、同じトリックを達成するのに役立ちます。

+0

これは私のページで機能しました。ヘッダーの読み込みは、スクリプトや移動から完全に無制限になります。 – dudeofea

関連する問題