2011-08-08 11 views
3

私はちょっと離れたところでWeb開発に戻ってきました.Ajax-ifiedページをjavascriptでサイト全体の読み込み/非表示を行うまで構築しています。ブックマークやブラウザの戻るボタンと互換性がありません。統一されたバックボタンAPIがないと、私はさまざまなテクニック、気にしないこと、おそらくjavascriptライブラリがこの問題に対処することができると確信しています。大量のAjaxページでバック・ボタン/リンクをサポートするための標準的なテクニック/ライブラリは何ですか?

さまざまなテクニックはありますか?私はタイマーとハッシュリンクを含むものを知っていますか?あなたのお勧めは何ですか?

と見てすべきは、ヘビーヒッターのライブラリがある場合

、ページのさまざまなバリエーションを表現するためにURLフラグメントを利用し、ブラウザで軽量なMVCモデルを提供

答えて

3

ちょうどあなたが見つける

...用語 "ハッシュ・バン" を探しかなったような:

そして、ただ情報のため、PushState APIがある(唯一、現代のブラウザでサポートされている!)(githubのソースツリーをナビゲートするためにこれを使用している)アンドレアスは、あなたが変更することができますHTML5 History APIと同じインタフェースを提供して言及した

2

チェックアウトbackbone.js、。

そのドキュメントから...

Webアプリケーションは、多くの場合、Ajaxの重いアプリケーションのための共有可能な、ブックマークのURLを提供するために、そのURLの断片(#fragment)を変更することを選択しました。 Backbone.Routerは、クライアント側のURLフラグメントをルーティングし、それらをアクションやイベントに接続するためのメソッドを提供します。

3

History.jsページのURL。古いブラウザの場合、HML4のHashChange機能へのオプションのフォールバックも含まれており、リフレッシュを経験したくない場合に便利です。

HTML5履歴APIを使用すると、URLを直接変更することができるため、ハッシュを使用するときと同じようにSEOまたはjsが無効になる問題は発生しません。 You can read more about the issue of HTML5 History API VS. Hashes VS. Hashbang right here

History.jsはすべてのjavascriptフレームワークもサポートしており、今後のリリースではフレームワークを使用しなくてもサポートします。 this snippet of code you can use, which will ajaxify most websites automatically without any extra or custom codeもあります。

オプションのHTML4ブラウザのサポート以外に、History.jsを使用する理由は、HTML5履歴APIがネイティブで使用できないためです。すべてのブラウザの実装では非常に異なる処理を行い、場合によっては全く動作しません。 You can find a listing of all the known cross-browser quirks with the native implementations here

Modernizr's HTML5 Cross Browser Polyfills Wiki Pageもあります。これは、どの図書館がそこにいるのかを発見するのに最適なリソースです。

関連する問題