IE7でのBackbone.jsハッシュベースのナビゲーションを使用します
-
24-10-2019 - |
質問
ハッシュベースのナビゲーションを備えたBackbone.jsアプリを構築しています。 IE7を除くどこでもうまく機能します。 IE7では、ハッシュを変更するリンクをクリックすると、何が起こるかが次のとおりです。
- ページが変更されます
- ハッシュは以前の値に戻ります
- ページも前のページに変更されます
追加することでリンクを機能させました saveLocation
各ページを読み込んだ後にコントローラーに電話をかけますが、バックボタンを使用するか、ページをリロードすると、現在のページに戻ったりリロードしたりする代わりに、常にホームページに連れて行かれます。
バックボタンとページのリロード作業を作成するにはどうすればよいですか?
解決
バックボーンにいくつかの変更を加えて、それを私のために機能させました。ここで私のレポを見ることができます:
https://github.com/juggy/backbone
これまでのところ私のために働いています。他の何かを壊した場合、私は知らない。私はユイからインスピレーションを与えました https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js .
他のヒント
また、私はあなたと同じIE7の問題を抱えており、あらゆる方法(savelocationのもの、バックボーンパッチなど)を試しました。しかし、うまくいきませんでした。 IE7は、多くのページを切り替えるときに誤解しているようです。
私の最後の解決策は、backbone.historyではなくJquery Historyプラグインを使用することでした。
http://tkyk.github.com/jquery-history-plugin/
このソリューションは他のプラグインに依存しているため、これは最悪の回避策ですが、幸いなことに、BackBone.Controllerは、使用する必要がないルーティングと状態処理を処理するだけです。
jQuery Historyプラグインは機能します。
回答が投稿されています Backbone.jsはIE7でのみバグを引き起こします.