历史API:Javascript Pushstate,获取以前的URL

Han*_*com 5 url history.js html5-history

$(window).bind('statechange',function(){
     var State = History.getState(),
     url = State.url;
});
Run Code Online (Sandbox Code Playgroud)

在以下函数中,url返回当前 URL.我正在寻找的是,该函数内,得到以前的网址,因此,例如,如果我在/cars/ferrari,去/cars/ford,url将返回cars/ford,但我想/cars/ferrari.

如何在statechange活动中获取以前的URL ?

Han*_*com 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;
});
Run Code Online (Sandbox Code Playgroud)

这似乎成功了!prevUrl给了我想要的URL.

  • 这需要History.js,是吗? (4认同)

sal*_*icX -3

尝试这个:

alert(document.referrer);
Run Code Online (Sandbox Code Playgroud)

笔记:

如果用户直接导航到该页面(不是通过链接,而是通过书签),则该值为空字符串。由于此属性仅返回一个字符串,因此它不会为您提供对引用页面的 DOM 访问权限。

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