3

重複の可能性:
javascript の onbeforeunload イベントで宛先 URL を取得するにはどうすればよいですか?

onunload イベント内から保留中のナビゲーション uri を識別する方法はありますか? ユーザーがページ上でナビゲートする場所 (特定のリンク、戻るナビゲーション、更新など) に応じて特定のアクションを実行したいと考えています。タスクにアプローチするより良い方法はありますか?

すべてを網羅するために、リンクにリスナーを追加することは避けており、同様に popstate や hashchange なども使用したくありません。このスコープ内で新しいページが読み込まれる場所を確認する方法を見つけることができます。それはできますか?


コメントで述べたように、これが上記の投稿の複製であることに完全には同意しません。私を含め、誰も答えを出すことができないので、閉鎖されるべきではなかったと思います。いずれにせよ、私が使用した解決策は次のとおりです。

$(document).ready(function() {
    var newUri;
    $(document).on("click", "*", function(e) {
        var thisElement = $(this)[0];
        if (thisElement.onclick) {
            // Handle special case situations.
        }
        if (thisElement.href) {
            newUri = thisElement.href;
            console.log(thisElement);
        }
    });
    window.onbeforeunload = function(e) {
        console.log("Client navigating to "+newUri);
        // Perform final handling steps.
    };
});
4

0 に答える 0