$(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 :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With