We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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:
$(function(){ 'use strict'; var options = { prefetch: true, debug:true, cacheLength: 0, repeatDelay: 500, onStart: { duration: 0, // Duration of our animation render: function ($container) { // Add your CSS animation reversing class $container.addClass('is-exiting'); // Restart your animation smoothState.restartCSSAnimations(); } }, onProgress: { // How long this animation takes duration: 0, // A function that dictates the animations that take place render: function ($container) { $container.addClass('is-loading'); $('#progressBar').append('<div id="bar"></div>'); var progress = '100%'; $('#bar').animate({ width: progress }, 400); } }, onReady: { duration: 0, render: function ($container, $newContent) { $container.removeClass('is-loading is-exiting'); // Inject the new content $container.html($newContent); }, }, onAfter: function() { navbarAnimate(); closeMenu(); ImageSliders(); initPhotoSwipeFromDOM('.gallery'); ImageOverlay(); window.parsePinBtns(); backToTop(); } }, smoothState = $('#main').smoothState(options).data('smoothState'); });
The text was updated successfully, but these errors were encountered:
I have exactly the same issue on all my sites using smoothstate.
Sorry, something went wrong.
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.
cacheLength: 0
cacheLength: 10
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.
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.
No branches or pull requests
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:
The text was updated successfully, but these errors were encountered: