由于 window.history.pushState 不适用于 IE9 等 HTML 4 浏览器,因此我寻找了 history.js,这是一个模拟 pushState 行为的 jQuery 库。
问题是,当使用 pushState 时,url 的结尾是重复的
例如,
History.pushState(null,null,window.location.pathname + '?page=1');
返回,
http://www.development.com/test.html#test.html?page=1
我该如何避免这个问题?非常感谢你。
更新(2012 年 1 月 22 日),悬赏问题:
if (pageNo == 1){
//window.history.pushState({"html":currURL,"pageTitle":''},"", window.location.pathname + '?page=1'); For chrome and FX only
//History.replaceState(null,null,'')
//History.pushState(null,null,'?issue=' + currPageIssueNo + '&page=1');
}
else if (pageNo != 1 || pageNo == 1 && linkPageNo > 1 ) {
History.pushState(null,null,'?issue=' + currPageIssueNo + '&page=' + pageNo);
//window.history.pushState({"html":currURL,"pageTitle":''},"", newURL); For chrome and FX only
}
我还是遇到这个问题,如果是第一页
http://localhost/development/flipV5.html?issue=20121220&page=1
当我转到 IE9 的第二页时,它有 url:
http://localhost/development/flipV5.html?issue=20121220&page=1#flipV5.html?issue=20121220&page=2
我想实现的是
http://localhost/development/flipV5.html?issue=20121220&page=2
如果 HTML 4 浏览器不可能,请至少实现
http://localhost/development/flipV5.html/#?issue=20121220&page=2
感谢您的帮助