2011-01-11 5 views
3

多くのサイトでは、アドレスバーにwww.domain.org/#!/topic/itemのようなURLが表示されます。たとえば、新しいtwitterはURLをそのURLに変更します。www.domain.org/#!/topic/itemスタイルのURLはどのように使用され、どのように呼び出されますか?

HTMLでターゲットを使用すると、ハッシュは何をするのですか。www.domain.org/page.html#topic3は、ブラウザのビューポートをアンカー<a name="topic3">に移動します。

また、このURLスキームは、動的に読み込まれたコンテンツを持つページのアドレスバーに常に正しいURLを持つという問題を解決すると考えています。

しかし、どのように...

  • が...私は、サーバー 側でそれらのURLを処理していますか? (mod_rewrite、javascript?)
  • ...という技術はありますか?

ありがとうございました!

答えて

3

Twitterといくつかの人気サイトがアドレスでハッシュを使用する理由は、Ajaxを使用して動的にロードされるコンテンツに[戻る]ボタンと[進む]ボタンを使用できるという点です。あなたは本当にサーバー側で何もする必要はありませんが、トリックはクライアント側でアドレス変更をキャッチすることです。

「jQuery History」というjQueryの一般的なプラグインがあります。 - http://tkyk.github.com/jquery-history-plugin/あなたのために仕事をしますが、Ajaxを使用してサーバーからコンテンツをロードし、それをあなたのウェブサイトのいくつかのコンテナに表示する必要があります。

ワンノート、!ハッシュの横には、検索エンジンがあなたのウェブサイトをクロールできるようにする方法があります。その詳細についてhttp://code.google.com/web/ajaxcrawling/docs/getting-started.html

+0

検索エンジンは、ウェブアプリケーションをクロールするにはどうすればできますか?そのURLに?検索エンジンに静的なバージョンを提供する必要があります(サーバー側の/#!/ - URLを処理する必要がありますか)。それとも、javascriptを実行して動的コンテンツを取得しますか? – Simon

+1

@Simon私は彼らがハッシュの後にURLを開こうとすると信じています。たとえば、URLがhttp://site.com/#!/mentionsの場合、http://site.com/mentionsを開き、そのサイトから返されたHTMLコンテンツを表示しようとします。しかし、あなたはそれがどのように動作するのかをGoogleから直接読むことができます - http://code.google.com/web/ajaxcrawling/docs/getting-started.html – raRaRa

0

通常は、window.location.hashを受け取り、それをAJAXリクエストのパラメータとしてサーバーに渡します。

変更された時点(新しいAJAXリクエストを発行するタイミング)を知るためのイベントがありますが、すべてのブラウザで実装されているわけではありませんので、今はjavascript間隔を作成してハッシュが変更されました。

0

あなたがすでに言ったように、それらは動的なウェブページによって使用されます。このようなURLリクエストをサーバー側で処理するには、さまざまな方法があります。 感嘆符付きのフォームは、私が信じているSEOのために使用されています。

http://code.google.com/intl/de-DE/web/ajaxcrawling/docs/specification.htmlを参照してください。

関連する問題