window.history.pushState は IE9 などの HTML 4 ブラウザーでは使用できないため、pushState の動作をシミュレートする jQuery ライブラリである history.js を探しました。
問題は、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 の 2 ページ目に移動すると、次の 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
HTML4ブラウザで無理なら最低でも達成してください
http://localhost/development/flipV5.html/#?issue=20121220&page=2
親切に助けてくれてありがとう