1

次のチュートリアルを使用して、Web サイトで AJAX を使用してコンテンツをロードしたい (ただし、戻るボタンなども使用できるようにしたい): http://www.queness.com/post/328/a-simple- ajax 駆動のウェブサイトと jqueryphp

もちろん、誰かが JavaScript を無効にしている場合、Web サイトも (Ajax なしで) 動作するはずです。

ただし、JavaScript が有効なユーザーが JavaScript が有効でないユーザーにリンクを送信すると、問題が発生します。JavaScript が無効になっているため、# タグが正しく処理されず、ホームページに移動するだけです (そのため、JavaScript ユーザーから非 JavaScript ユーザーへのページへの直接リンクは不可能です)。この問題を解決する方法はありますか (できれば php または htacces)。

4

3 に答える 3

2

HTML5は、ページを更新せずにURLを変更するメソッドを提供しますhttps://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#Adding_and_modifying_history_entries

これは、ページを更新せずに何かを更新できるが、ブックマークしたり他の人に送信したりできるURLをユーザーに提供できることを意味します。これらのURLは、JavaScriptがなくても機能します。ただし、これらの場所にページがあるか、mod_rewriteなどでそれらをキャッチしている場合に限ります。

https://github.com/browserstate/history.jsは、ブラウザがサポートしている場合はHTML5履歴を使用し、そうでない場合は(Internet Explorer)URLのハッシュを変更する小さなポリフィルです。

于 2011-09-15T10:39:54.253 に答える
1

基本的に、次の 3 つの手順を実行します。

  • 「a」タグを通常どおりにコーディングします。<a href='about'>About us</a>
  • JavaScript コードで、タグのすべてのclickイベントをインターセプトし、 +に移動します。したがって、彼らが上記の URL をクリックすると、代わりに<a>#this.hrefsite.com/#aboutsite.com/about
  • あなたのJavaScriptコードで、現在の場所からハッシュ値を読み取り、対応するURLを(#を削除して)ajax経由でロードするタイマー関数を用意します

通常どおり html をコーディングするため、js を使用しないユーザー、さらに重要なことに、検索エンジンのボットがサイトに完全にアクセスできます。

コメントに応じて、次のことを提案できます。

  • ホームページを javascript 経由で から にリダイレクトしsite.comますsite.com/js/
  • <a href='about'>クリックすると、に移動しますsite.com/js/#about
  • <a id=about href="/about">click here</a>「js」ページに、 js 以外のユーザー向けのようなものがあります
于 2011-09-15T10:51:34.970 に答える
0

通常どおりにアプリケーションをビルドしてから、その上に AJAX を追加するのではなく、その逆を行って自分の作業を増やしてみませんか?

なぜ AJAX ページ遷移が必要なのか自問してみてください。あなたのアプリは実際にそれらを必要としていますか、それとも単に Twitter のような別のサイトで見たからですか?

于 2011-09-15T10:33:37.467 に答える