0

私は次のことを達成したいと思います:

ユーザーが 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では、これも何もしません...

提案はありますか (「これをしないでください!」以外)?

4

0 に答える 0