Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 历史浏览器后退在某个特定状态下不工作_Javascript_Jquery_Browser History - Fatal编程技术网

Javascript 历史浏览器后退在某个特定状态下不工作

Javascript 历史浏览器后退在某个特定状态下不工作,javascript,jquery,browser-history,Javascript,Jquery,Browser History,我在本地机器上完成了一个简单的项目。它有一些5页。喜欢这个网址吗 localhost:1111/myurlnavi/myurlnavi.do#Firstpage localhost:1111/myurlnavi/myurlnavi.do#第二页 localhost:1111/myurlnavi/myurlnavi.do#Thirdpage localhost:1111/myurlnavi/myurlnavi.do#Lastpage 代码 jQuery(window) .unbind('h

我在本地机器上完成了一个简单的项目。它有一些5页。喜欢这个网址吗

  • localhost:1111/myurlnavi/myurlnavi.do#Firstpage
  • localhost:1111/myurlnavi/myurlnavi.do#第二页
  • localhost:1111/myurlnavi/myurlnavi.do#Thirdpage
  • localhost:1111/myurlnavi/myurlnavi.do#Lastpage
  • 代码

    jQuery(window)
        .unbind('hashchange')
        .bind('hashchange',myOwnFunction);
    
    function changeHash(hash){
        if(hash === ""){
            someCodes();
            pushHistoryObj("localhost:1111/myurlnavi/pages/1");     //Example
        }else{
            document.location.hash = "#"+hash;
        }
    }
    
    function myOwnFunction(){
        Some code i have written.
    }
    
    function pushHistoryObj(url,event,eventArg){ // This function - current url push to history
        var obj = {};
        obj.event = event;
        obj.eventArg = eventArg;
        if(typeof window.history.pushState === 'function'){
            history.pushState({actionObj: obj}, window.document.title, url);
        }
    }
    
    
    

    如果我先单击第一页,然后更改Hash函数而不是bind函数调用Myown函数,则一切正常。然后点击第2、3、4页,一切正常。然后我去浏览器回去这也工作得很好

    但我有一个新的网址,像这样

    • localhost:1111/myurlnavi/pages/1
    有一段时间,我点击不同的链接,它转到changeHash()方法,然后调用pushHistoryObj方法之后,所有情况都正常,但浏览器返回不工作,如果我返回浏览器url地址栏,只更改前url而不是ajax,或者changeHash方法不会调用