ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザでの「戻る」ボタンのクリックをどのように検出できますか?

ブラウザでの「戻る」ボタンのクリックをどのように検出できますか?

DDD
DDDオリジナル
2024-10-22 14:02:021021ブラウズ

How Can You Detect Back Button Clicks in a Browser?

ブラウザ内の戻るボタンのクリックを検出

ユーザー ナビゲーション イベントを追跡するには、window.onbeforeunload イベント リスナーを使用できます。ただし、このイベントは、戻るボタンが押されたときだけでなく、ページの更新またはリロード中にもトリガーされます。

解決策:

この問題を解決するには、次のコードを使用します。 window.onload イベントを使用できます:

window.onload = function () {
    if (typeof history.pushState === "function") {
        history.pushState("jibberish", null, null);
        window.onpopstate = function () {
            history.pushState('newjibberish', null, null);
            // Handle back/forward navigation here
        };
    }
    else {
        var ignoreHashChange = true;
        window.onhashchange = function () {
            if (!ignoreHashChange) {
                ignoreHashChange = true;
                window.location.hash = Math.random();
                // Handle hash change navigation here
            }
            else {
                ignoreHashChange = false;
            }
        };
    }
}

このソリューションは、戻るナビゲーションと、リフレッシュやリロードなどの他のイベントを区別し、戻るボタンのクリックを正確に処理します。 ChromeやFirefoxなどのブラウザで快適に動作します。

以上がブラウザでの「戻る」ボタンのクリックをどのように検出できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。