10

次の問題があります。私のバックボーン アプリケーションの一部には、次のような URL があります。

site.ru/#profile

ページが読み込まれると、URL が次のように変わります。

site.ru/profile

したがって、ハッシュは失われました。したがって、バックボーンのナビゲート機能に問題があることがわかります。

var routeStripper = /^[#\/]/;
...
var frag = (fragment || '').replace(routeStripper, '');

私が理解しているように、このコードは URL の先頭にあるハッシュを消去します。

このコード行を単純に削除して問題を解決するのは本当ですか? これを修正する他の方法を教えてください。

ティア!

4

3 に答える 3

12

pushState を有効にした場合、Backbone はハッシュのみを削除します。

Backbone.history.start({pushState: true});に変更Backbone.history.start();

http://backbonejs.org/#Router

于 2012-04-14T23:58:29.550 に答える
0

Backbone.js は/ & #を区切り文字として使用して、ルート アドレスとサブディレクトリを引き出しているようです。/フィルタリングには、tp stau tp 「フラグメント」を取得する必要があります。その RegEx の # だけを削除してみてください。残りの行は残しておいてください。(&あなたが行ったコードにコメントを残してください!:)

ハッシュなしでリンクを再送信しているため、バグレポートも送信します。

于 2012-04-14T17:34:53.867 に答える
0

同じ問題、および他のいくつかの問題があります;-) ( GitHubの問題を参照)

次のように、ハッシュの変更をリッスンしないことで、今のところこれを修正しました。

Backbone.history.start({
  pushState: true,
  hashChange: false,
  root: '/'
});

これは私にとってはうまくいくようでした。

于 2016-10-06T13:51:22.733 に答える