多くの Web ページは、すべてのコンテンツをロードして、ほとんど情報を変更しません。
ここで、開発者がメイン ページのリクエストに ajax を使用してはならない理由を知りたいと思います。
自分の Web ページで、Web ページの主なリクエストを ajax だけで開発したいのですが、このアプローチの具体的な短所はわかりません。
なぜ誰かが ajax をそれほど使用してはいけないのか考えている人はいますか?
検索エンジン、クローラー/スパイダー、JavaScript を使用しないブラウザー、スクリーン リーダー、その他のコンテンツの消費者は、これにあまり満足しません。
完全なコンテンツの標準的なサーバー側ナビゲーションを既にサポートしている場合は、Web サイトの上に大量の ajax 動作を提供できます。プログレッシブ エンハンスメント (SO)とプログレッシブ エンハンスメント (wiki)をご覧ください。
全体的な前提は、AJAX を使用すると、その Web ページのごく一部を更新するためにページ全体をリロードする必要がないということです。これにより帯域幅が節約され、通常はページ全体をリロードするよりもはるかに高速です。
しかし、AJAX を使用してページ全体をロードしている場合、これは実際には非生産的です。AJAX データのコールバックを処理するには、カスタマイズされたルーチンを作成する必要があります。パフォーマンスをほとんどまたはまったく向上させないために、余分な作業が大量に発生します。
どこで AJAX を使用するかの一般的な規則:ページの 50% を超える更新を行う場合は、再読み込みするだけで、それ以外の場合は AJAX を使用します。
私はあなたに1つの非常に正当な理由を与えます.
ブラウザのjavascriptをオフにすると動かなくなります。
最大の欠点は、JavaScript を無効にしているユーザーです。あなたのウェブサイトは彼らにとってはうまくいきません。
私は自分の Web サイトのテンプレート エンジンとして JavaScript と EJS のみを使用しています。SOFEA/SOUIに一歩近づきました。
検索エンジン、クローラー/スパイダー、JavaScript のないブラウザー、スクリーン リーダーはそれを嫌います。しかし、私は主流に従います ;)
既に投稿された回答とは別に、AJAX を使用すると、停止ボタンが機能しないなど、ブラウザー コントロールに醜い副作用が生じる可能性があります。
1 つのことは、コンテンツに静的な URL を持たせたい、人々があなたのページにリンクしたり、ブックマークしたりできるようにしたいということです。
すべてが ajax 化されている場合、これはトリッキーで退屈な作業になる可能性があります。
Gmail と同じように新しいページを AJAX でロードしたい場合は、リンクが通常の A HREF リンクであり、真のフル レンダリング ページ URL を指し、通常のリンクの読み込みの試行を停止する onclick イベントを使用することをお勧めします。そして、AJAX 呼び出しを行います。ここでの問題は、これをすべてうまく構築しない限り、ほぼ二重のコーディングを行うことになるということです。
このように、通常の非 JS リンクはページ全体をロードし、JS 呼び出しは新しいパーツまたはページのみをロードします。これは、スパイダーのインデックス作成も再び機能することを意味します。