Javascript 历史浏览器后退在某个特定状态下不工作
我在本地机器上完成了一个简单的项目。它有一些5页。喜欢这个网址吗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
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方法不会调用