重複の可能性:
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.
};
});