6
$(window).bind('statechange',function(){
     var State = History.getState(),
     url = State.url;
});

次の関数では、url は現在のURL を返します。私が探しているのは、その関数内で前の URL を取得することです。たとえば、私がオン/cars/ferrariで に行くと/cars/fordurlが返さcars/fordれますが、取得したいです/cars/ferrari

statechangeイベント内の以前の URL を取得するにはどうすればよいですか?

4

3 に答える 3

11
$(window).bind('statechange',function(){
    // Prepare Variables
    var State = History.getState(),
        url = State.url,
        states = History.savedStates,
        prevUrlIndex = states.length - 2,
        prevUrl = states[prevUrlIndex].hash;
});

それでうまくいくようです!prevUrlは私に希望のURLを与えます。

于 2012-11-08T22:27:26.150 に答える
3

URL を状態オブジェクトにプッシュするだけで、元に戻すことができます。

したがって、これは pushState を使用する場合:

history.pushState(
  {'previous_url': document.location.href}, 
  document.title,
  "?some_query_string"
);

次に、状態を取得すると、previous_url が含まれます:)

于 2014-03-27T10:08:41.793 に答える
-4

これを試して:

alert(document.referrer);

ノート:

ユーザーがページに直接移動した場合(リンクではなく、ブックマークなどを介して)、値は空の文字列になります。このプロパティは文字列のみを返すため、参照ページへのDOMアクセスは提供されません。

詳細はこちら:https ://developer.mozilla.org/en-US/docs/DOM/document.referrer?redirectlocale = en-US&redirectslug = document.referrer

于 2012-11-08T22:23:57.713 に答える