octothorpe / number-sign / hashmarkは、URLで特別な意味を持ち、通常、ドキュメントのセクションの名前を識別します。正確な用語は、ハッシュに続くテキストがURLのアンカー部分であるということです。ウィキペディアを使用すると、ほとんどのページに目次があり、次のようなアンカーを使用してドキュメント内のセクションにジャンプできます。
https://en.wikipedia.org/wiki/Alan_Turing#Early_computers_and_the_Turing_test
https://en.wikipedia.org/wiki/Alan_Turing
ページを識別しEarly_computers_and_the_Turing_test
、アンカーです。Facebookやその他のJavascript駆動型アプリケーション(私自身のWood&Stonesなど)がアンカーを使用する理由は、ページをブックマーク可能にする(その回答へのコメントで示唆されているように)か、ページ全体をリロードせずに戻るボタンをサポートするためです。サーバー。
ブックマークと戻るボタンをサポートするには、URLを変更する必要があります。ただし、ページ部分(のようなものを使用window.location = 'http://raganwald.com';
)を別のURLに変更した場合、またはアンカーを指定せずに変更した場合、ブラウザはURLからページ全体をロードします。FirebugまたはSafariのJavascriptコンソールでこれを試してください。ロードhttp://minimal-github.gilesb.com/raganwald
。次に、Javascriptコンソールで次のように入力します。
window.location = 'http://minimal-github.gilesb.com/raganwald';
サーバーからページが更新されます。次のように入力します。
window.location = 'http://minimal-github.gilesb.com/raganwald#try_this';
あはは!ページの更新はありません!タイプ:
window.location = 'http://minimal-github.gilesb.com/raganwald#and_this';
まだ更新はありません。戻るボタンを使用して、これらのURLがブラウザの履歴にあることを確認します。ブラウザは、同じページにいるがアンカーを変更していることに気付くため、リロードされません。この動作のおかげで、ブラウザには1つの「ページ」にあるように見える単一のJavascriptアプリケーションを作成できますが、戻るボタンを尊重するブックマーク可能なセクションを多数持つことができます。ユーザーがさまざまな「状態」に入ると、アプリケーションはアンカーを変更する必要があります。同様に、ユーザーが戻るボタン、ブックマーク、またはリンクを使用してアンカーを含むアプリケーションをロードする場合、アプリケーションは適切な状態を復元する必要があります。
アンカーは、Javascriptプログラマーに、ブックマーク可能、索引付け可能、および戻るボタンに適したアプリケーションを作成するためのメカニズムを提供します。この手法には名前があります。これはシングルページインターフェイスです。
psこの手法には4番目の利点があります。AJAXを介してページコンテンツをロードし、それを現在のDOMに挿入すると、新しいページをロードするよりもはるかに高速になります。速度の向上に加えて、バックグラウンドで特定の部分をロードするなどのさらなるトリックをプログラマーの制御下で実行できます。
ppsこれらすべてを考慮すると、「バング」または感嘆符は、まったく同じページをサーバーからわずかに異なるURLでロードできるというGoogleのWebクローラーへのさらなるヒントです。Ajaxクロールを参照してください。もう1つの手法は、各リンクがサーバーからアクセス可能なURLを指すようにし、控えめなJavascriptを使用してアンカー付きのSPIに変更することです。
ここでも重要なリンクは次のとおりです。シングルページインターフェイスマニフェスト