8

Emberのドキュメントには、次を使用して、ハッシュベースのフラグメントではなく、HistoryAPIをルーティングに使用するように設定できると記載されています

App.Router.reopen({
  location: 'history'
});

しかし、ブラウザがHistoryAPIをサポートしていない場合に何が起こるかについての言及は見つかりません。History.jsのようなハッシュの使用にフォールバックしますか?

そうでない場合は、History APIのサポートを確認し、サポートされていない場合は履歴の実装をハッシュに切り替える必要がありますか?

4

1 に答える 1

17

ember ソースには History API サポートの検出がないようです。

したがって、 に設定locationhistory、サポートがない場合、ルーティングはおそらく失敗します。

古いブラウザをサポートするつもりなら、あなたが言ったのが最も安全な方法です:

if (window.history && window.history.pushState) {
    App.Router.reopen({
      location: 'history'
    });
}

2014 年 1 月 23 日更新

カナリアで機能location:'auto'を有効にすると使えるようになりました。ember-routing-auto-location

于 2013-02-25T16:19:53.237 に答える