0

バックグラウンド

URL のハッシュ変更の検出と、進む/戻るボタンの修正は、Ajax の履歴を扱うライブラリの 2 つの要件です。これらのライブラリを実装するための 2 つの考え方があります。ポーラーに常に URL をチェックさせることができます (悪いブラウザには onHashChange イベントがありません)。または、非表示の iFrame を使用して、ブラウザーの履歴にポイントを追加することもできます。非表示の iFrame はポーリングよりも優れていると考える人もいるかもしれませんが、非表示の iFrame は外部ブラウザーの URL を更新しません。したがって、ユーザーが Web アプリケーションで現在の状態を共有したい場合は、常に初期状態を共有することになります。

質問

ポーリングを必要とせず、メイン ブラウザの URL を更新する Ajax 履歴の手法はありますか?

4

2 に答える 2

0

2つの技術を組み合わせてみてはいかがでしょうか? URL を変更し、iframe を使用します。(良いブラウザーでは) hashChanged を無視し、dom:ready でハッシュ コードを解析するだけです。

于 2010-11-24T00:22:17.850 に答える
-1

元の質問からのコメントを見て、IE には iframes メソッドを使用し、他のブラウザーにはポーリングを使用することをお勧めします。

これを具体的に処理するライブラリを探していて、自分で作成するための基礎が必要な場合は、Real Simple Historyをチェックしてください。

Ajax UI でページの状態を保持する機能を探しているだけの場合、dojo はdojo.hash() shim でこれをサポートします。このメソッドは、 onhashchangeイベントをサポートしていないブラウザーに対してonhashchangeイベントを作成し、戻るボタンの状態を管理します。ブラウザーに応じて、ポーリングと iframe を組み合わせて使用​​します (iFrame は特に IE バージョン 8 未満で使用されます)。

于 2010-11-24T13:37:02.793 に答える