私のウェブサイトは次のように設定されています。ページが読み込まれると、テンプレート内の jQuery アニメーションが再生され、完了すると、ページのコンテンツを取得するための Ajax 呼び出しがさらに行われます。ここで、 http://com-address/#!page のようなハッシュバンを展開したいと考えています。また、ページの読み込み時にもアニメーションを保持する必要があります。しかし、このセットアップの問題は次のとおりだと思います。Web クローラーがページにアクセスすると、アニメーションが完了するのを待たずに Ajax 呼び出しを行います。読み込まれたコンテンツを含むページの状態が必要です (私の場合、アニメーションが完了した後に取得されます)。
上記のシナリオを考えると、どちらの方法が優れているか:
フロー全体を変更し、ページ コンテンツをプリエンプティブに読み込み、アニメーションが再生されるまで非表示にします。
URL に hash-bang または _escaped_fragment が見つかった場合のみ:
を。手順 1 に従います。
b. アニメーションなしのコンテンツでページをロードします。
Webクローラーに関する私の仮定は正しくなく、現在の流れをそのままにしておきます。
ヘッズアップのアドバイスはありますか?
編集
@kdzwinel、テキストブラウザに関するヒントをありがとう!
考え直して、オプション 2(a) を使用します。これは、クローラーがフラグメント化された URL を使用してリソースにアクセスしたときに、ページ上の完全な結果コンテンツを取得する必要があるためです。また、ユーザーがフラグメント化された URL に直接移動した場合、アニメーションのユーザー エクスペリエンスも損なわれません (ページの読み込みとアニメーションの開始の間に動的コンテンツ フラグメントのコンテンツを削除することにより)。
また、他のすべてのシナリオでは、古いフロー (アニメーション化してから Ajax 経由で取得) を継続します。これは、ユーザーが既に Web サイトにアクセスしており、フラグメント化された URL を持つアンカーを使用してスムーズに/シームレスにナビゲートしようとしているため、ページを更新したくないためです。 (クリックイベントをバインドしてアニメーションを開始します)。