2012-01-18 36 views
0

私のウェブサイトのような設定です(ハッシュ強打、#は!):ページがロード、jQueryのアニメーション - テンプレートでは - 完了時に、さらにアヤックスを作るこれ、再生されますページのコンテンツを取得するために呼び出します。今、http://com-address/#!pageのようなhashbangをデプロイしたいので、ページの読み込み時にアニメーションを保持する必要があります。しかし、私はこのセットアップの問題があると仮定します。 Webクローラーがページにアクセスすると、アニメーションが完了してAjaxコールを待つことはありません。ロードされたコンテンツ(私の場合、アニメーションが完了した後に取得される)を持つページの状態が必要です。jQueryのエスケープ・断片化URLとアニメーション

  1. 変更全体の流れをして先制ページのコンテンツをロードし、アニメーションが再生されるまで それを隠す:

    が優れている方法上記のシナリオに、与えられました。ハッシュ強打または_escaped_fragmentがURLに発見されただけ

  2. 。ステップ1.

    Bに従ってください。アニメーションなしでコンテンツを含むページを読み込みます。

  3. ウェブクローラーについての私の仮定は間違っています&私はそれがそのままの流れを しましょう。

ヘッドアップアドバイスはありますか?

EDIT

@kdzwinel、テキストブラウザについてヒントをありがとう!二思想に

クローラが断片化されたURLでリソースを訪れたとき、それはページ上の完全な結果のコンテンツを取得する必要がありますので、私はオプション2(a)に一緒に行きましょう。ユーザーは、断片化されたURLに直接移動した場合や、アニメーションを持つユーザーの経験は(ページのロードとアニメーションが始まりとの間に動的なコンテンツの断片上のコンテンツを削除することで)あまりにもそのままでしょう。

また、ユーザーが既にウェブサイトにアクセスしていてスムーズに/シームレスにナビゲートしようとしているため、ページを更新したくないため、古いフロー(アニメーションとAjax経由のフェッチ)を続行します。断片化されたURLを持つアンカー(クリックイベントをバインドしてアニメーションを開始)。

答えて

1

のWebクローラーはJavaScriptを実行していない(webmaster guidelines -

はJavaScript、Cookie、セッションID、フレーム、DHTML、またはFlashなど凝った機能は、テキストブラウザでサイトのすべてを見てからあなたを保つ場合

)検索エンジンのスパイダーは、あなたのコンテンツがインデックスに登録されていない場合は、オプション#1を使用します。ページが開かれ、ブラウザがjavascriptをサポートしている場合はコンテンツを読み込み、コンテンツを非表示にしてアニメーションを表示します。

+0

入力いただきありがとうございます。テキストブラウザは#!のページのようなHREFとアンカータグに遭遇した場合、それはCOM-アドレス/#!のページに移動しません、ので、しかし、それは本当に、むしろそれが探します、ハッシュ強打の場合であってはなりません指定されたアンカー(!ページ)。その後、ハッシュ・バングに移動するには、ページをリフレッシュするしかありません(既に同じページにいる場合、またはjavascriptを使用してウィンドウをフェッチしている場合)。loanation.hash Ajaxによるリクエスト)Googleは、断片化したURLをエスケープしてAJAX主導のアプリケーションをクロール可能にするというアイデアを発見しました。 –

+0

クール、私はそれを知らなかった。 JavaScriptがwebcrawlerによって実行されないという事実は変更されないので、クローラがそれを訪問したときにメインページには何も索引付けされません。私はまだあなたがオプション#1に行かなければならないと思います。 –

+0

あなたの助けを借りて私のポスト&感謝の編集セクションをチェックしてください! –