历史API:使用Javascript pushState的,得到以前网址(History API:

2019-07-03 16:43发布

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

在下面的功能,URL返回当前的URL。 我正在寻找的是,该函数内,得到以前的网址,因此,例如,如果我在/cars/ferrari和去/cars/fordurl会返回cars/ford ,但我想获得/cars/ferrari

我如何获得的上一URL statechange事件?

Answer 1:

$(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给了我想要的网址。



Answer 2:

所有我会做的是推到状态对象的网址,以便您可以重新找回来。

因此,这当您使用pushState的:

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

然后,当你拿到状态时,它会对它previous_url :)



Answer 3:

试试这个:

alert(document.referrer);

注意:

该值是一个空字符串,如果用户导航到直接在页面(未通过链路,但是,例如,通过书签)。 由于此属性只返回一个字符串,它不会给你引用页DOM访问。

查看更多在这里: https://developer.mozilla.org/en-US/docs/DOM/document.referrer?redirectlocale=en-US&redirectslug=document.referrer



文章来源: History API: Javascript Pushstate, get previous URL