私は次のことを達成したいと思います:
ユーザーが index.html#Contact のような私の Web サイトのサブページへのリンクを開いた場合、index.html#Contact トークンの前に index.html# トークンを履歴スタックに追加して、ユーザーが、ブラウザのbackボタンをクリックすると、最初に私のサイトのスタートページに行き、次にback実際に通常どおりページを離れます。
「onload」で実行される次のJavaScriptを使用すると、これを非常に簡単に実現できると思いました。
var href = window.location.href;
var hashPos = href.indexOf("#");
if ((hashPos > 0) & (hashPos+1 < href.length)) {
window.location.replace(href.substring(0, hashPos+1));
window.location.assign (href);
}
しかし、なぜか、これはまったく何もしません...
次のようにFirefoxで動作するようにしました:
var href = window.location.href;
var hashPos = href.indexOf("#");
if ((hashPos > 0) & (hashPos+1 < href.length)) {
window.location.replace(href.substring(0, hashPos+1));
setTimeout(function() {
window.location.assign(href);
}, 0);
}
しかし、IEとChromeでは、これも何もしません...
提案はありますか (「これをしないでください!」以外)?