フラグメントが変更されるたびに goog.history.Html5History オブジェクトが goog.history.EventType.NAVIGATE イベントを 2 回起動するのはなぜですか? これはコードの例です:
var history = goog.history.Html5History.isSupported()
? new goog.history.Html5History()
: new goog.History();
goog.events.listen(history, goog.history.EventType.NAVIGATE, function(e) {
console.log(['navigation', e.target.getToken()]);
});
history.setEnabled(true);
そして、これはログです:
["navigation", "!/properties/new"]
["navigation", "!/properties/new"]
UPD:私が理解したように、コールバックにはオブジェクトのisNavigation
フィールドの2つの異なる値があります。e
1回目はfalse
価値があり、2回目はtrue
価値があります。isNavigation
意味:
isNavigation イベントがブラウザーのアクション (進む、戻る、リンクのクリック、URL の編集、window.history.(go|back|forward) の呼び出しなど) によってトリガーされた場合は true です。トークンが setToken または replaceToken 呼び出しによって変更された場合は False。
しかし、1 人だけを解雇するにはどうすればよいでしょうか。