0

#バックボーン ルーティング、pushState を使用するかどうかに関係なく、アドレス バー内に表示されないようにする方法はありますか?

4

2 に答える 2

0

現在のバージョンの IE はサポートしていませんpushState。(IE10 プレビューに表示されます)。

オプションは、通常の (非 Ajax) リンク/フォーム送信などにドロップダウンするか、ハッシュバン ハックを使用するかのいずれかです。

私は確かに言うほど十分にバックボーンを知りませんが、以下は通常のルーティングにフォールバックするのに十分かもしれません:

if (window.history && window.history.pushState) {
    Backbone.history.start({pushState: true});
}
于 2012-10-23T06:40:37.460 に答える
0

@Kay、あなたの Babckbone アプリはすべての主要なブラウザーで正しく動作するはずであり、IE8-9 はまだ広く使用されています (残念ながら IE6-7 でさえ)。hash と no を使用pushStateすると信頼性が高くなり、多くの巨大なアプリ (Facebook など) で使用されます。問題は、リンクでハードコーディングされたルートを使用し、それらがハッシュではない場合、ブラウザーで pushState が機能しない場合に問題が発生することです。したがって、pushState を使用し、かつルーターが取得するリンクで通常のパス名を使用するか、pushState を使用せずにハッシュを使用する必要があります。後者はより好ましいIMOです。

于 2012-10-23T06:37:02.217 に答える