Open Lippiun opened 6 years ago
I have exactly the same issue on all my sites using smoothstate.
Yeah it looks like a common problem but no one seems to have the answer! Hopefully the developer will explain
Increase your cache.
Replace cacheLength: 0
with something like cacheLength: 10
or something.
The issue comes from this function:
/** Handles the popstate event, like when the user hits 'back' */
onPopState = function ( e ) {
if(e.state !== null) {
var url = window.location.href,
$page = $('#' + e.state.id),
page = $page.data('smoothState'),
diffUrl = (page.href !== url && !utility.isHash(url, page.href)),
diffState = (e.state !== page.cache[page.href].state);
if(diffUrl || diffState) {
if (diffState) {
page.clear(page.href);
}
page.load(url, false);
}
}
},
As you can see, it compares the state of given object with the one in the page cache, in e.state !== page.cache[page.href].state
.
If the page you are currently viewing is not saved in the cache, it will throw an undefined index at that line.
Worked for me.
Hello,
For some reason, every now and again when I navigate through the pages using the back and forward buttons the back button stops working.
The URL changes but the content remains the same?
I've checked the console for errors and there is this: TypeError: Cannot read property 'state' of undefined
Do you know why this is happening? Like I said, the majority of the time it works okay but all of sudden it doesn't.
The code I'm using is like so: