browser back button is not updating page

后端 未结 3 753
说谎
说谎 2021-01-28 21:08

I\'m setting the URL after the hashmark with a jquery click event. The URL is getting set properly but when I use the browsers back button it doesn\'t take me to the previous p

相关标签:
3条回答
  • 2021-01-28 21:37

    Use the onhashchange event of the window, to check if the hash changes. This is getting called when you hit the back Button of your browser.

    $(window).bind('hashchange',function() {
        if (location.hash != '#visits') {
            //Code to revert the changes on the page
        }
    }
    
    0 讨论(0)
  • 2021-01-28 21:47

    You could code something like this:

    var _hash = '';
    
    function myHashChangeCallback(hash) {
        // handle hash change
        // load some page using ajax, etc
    }
    
    function hashCheck() {
        var hash = window.location.hash;
        if (hash != _hash) {
            _hash = hash;
            myHashChangeCallback(hash);
        }
    }
    
    setInterval(hashCheck, 100);
    
    0 讨论(0)
  • 2021-01-28 21:49

    Older versions of IE don't support hashchange, so you have to cheat by using setInterval to poll a few times a second and check if it's changed.

    if($.browser.msie && $.browser.version < 7){
        setInterval(function(){
            if(window.location.hash != window.lastHash){
                hashChangeHandler();
                window.lastHash = window.location.hash;
            }
        }, 100);
    }
    else{
        $(window).bind('hashchange',function() {
            if (location.hash != '#visits') {
                hashChangeHandler();
            }
        }
    }
    
    0 讨论(0)
提交回复
热议问题