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これらすべてを踏まえると、「bang」または感嘆符は、まったく同じページをサーバーからわずかに異なるURLでロードできるというGoogleのWebクローラーへのさらなるヒントです。Ajax Crawlingを参照してください。別の手法は、各リンクがサーバーからアクセス可能なURLを指すようにし、次に控えめなJavaScriptを使用して、それをアンカー付きのSPIに変更することです。
ここでも重要なリンクです:シングルページインターフェイスマニフェスト
shebang
だったか調べなければならなかった... en.wikipedia.org/wiki/Shebang_%28Unix%29