Şu anda sitemdeki bir kullanıcının pencereyi/sekmeyi kapatıp kapatmadığını veya URL'yi değiştirip değiştirmediğini tespit ediyorum.javascript pencere üzerinde yakın olay
Ben mükemmel çalışıyor follwoing kodu, kullanıyorum:
var validNavigation = false;
function endSession() {
// Browser or broswer tab is closed
// Do sth here ...
alert("bye");
}
function wireUpEvents() {
window.onbeforeunload = function() {
if (!validNavigation) {
endSession();
}
}
// Attach the event keypress to exclude the F5 refresh
$(document).bind('keypress', function(e) {
if (e.keyCode == 116){
validNavigation = true;
}
});
// Attach the event click for all links in the page
$("a").bind("click", function() {
validNavigation = true;
});
// Attach the event submit for all forms in the page
$("form").bind("submit", function() {
validNavigation = true;
});
// Attach the event click for all inputs in the page
$("input[type=submit]").bind("click", function() {
validNavigation = true;
});
}
$(document).ready(function() {
wireUpEvents();
});
Sorunum ben bir bindirme için uyarıdan olayı değiştirmek istiyorum olduğunu. Ben gizli bir div bindirme kurulum işlemlerini daha var ve yukarıdaki kodu uyarısı değiştirilir:
$('.overlay').css('display','block');
sayfada kalmak için kullanıcı almak için div içinde bir şey yok gibi bu artık çalışır. (kullanıcının bir uyarı içindeki bir düğmeyi tıklamasına gerek yoktur)
Bu konuyla ilgili nasıl bir öneride bulunabilirim?
Alkış Dan
Neden sadece 'window.onbeforeunload' kullanmıyorsun? Biliyorum, bu bir fantezi 'div' değil, ama kesinlikle bu tür şeyler için tasarlandı. – Powerslave
window.onbeforeunload bir seçimdi ama şimdi stil gerektiren bir fantezi div'a ihtiyacım var. – danyo
http://stackoverflow.com/questions/276660/how-can-i-override-the-onbeforeunload-dialog-and-replace-it-with-my-own/276739 –