$(window).bind('statechange',function(){
var State = History.getState(),
url = State.url;
});
In the following function, url returns the current URL. What I'm looking for is, within that function, to get the previous URL, so for example, if I'm on /cars/ferrari
and go to /cars/ford
, url
would return cars/ford
, but I want to get /cars/ferrari
.
How do I get the previous URL within a statechange
event?
$(window).bind('statechange',function(){
// Prepare Variables
var State = History.getState(),
url = State.url,
states = History.savedStates,
prevUrlIndex = states.length - 2,
prevUrl = states[prevUrlIndex].hash;
});
That seems to do the trick! prevUrl gives me the desired URL.
All I would do is push the URL on to the state object so you can get it back again.
So this when you use pushState :
history.pushState(
{'previous_url': document.location.href},
document.title,
"?some_query_string"
);
Then when you get the state it will have previous_url on it :)
Try this:
alert(document.referrer);
Note:
The value is an empty string if the user navigated to the page
directly (not through a link, but, for example, via a bookmark). Since
this property returns only a string, it does not give you DOM access
to the referring page.
See more here: https://developer.mozilla.org/en-US/docs/DOM/document.referrer?redirectlocale=en-US&redirectslug=document.referrer