历史记录API:JavaScript PushState,获取以前的URL


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

在以下功能中,URL返回 Current URL。我正在寻找的是,在该功能中,要获取以前的URL,例如,如果我使用/cars/ferrari并转到/cars/ford,则url将返回cars/ford,但我想获得/cars/ferrari

如何在statechange事件中获取以前的URL?

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

似乎可以解决问题!devurl给了我所需的URL。

我要做的就是将URL推入状态对象,以便您再次将其重新获取。

所以当您使用PushState时:

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

然后,当您获得状态时,它将在其上有presit_url:)

尝试以下:

alert(document.referrer);

注意:

如果用户导航到页面,则该值是一个空字符串 直接(不是通过链接,而是通过书签)。自从 此属性仅返回一个字符串,它不会让您访问DOM 到"参考"页面。

请参阅此处:https://developer.mozilla.org/en-us/docs/docs/dom/document.referrer?redirectlocale = en-us& recredirectSlug = document.referrer

最新更新