Pencereyi düzgün bir şekilde tetiklemem gerekir. Kullanıcının pencereyi gezdirdiğini (kapattığını) ve kaydedilmemiş herhangi bir çalışmanın silineceğini sağlamak için bir onay kutusu görüntülenir.window.onbeforeunload tetiklendiğinde bir bağlantının tıklanıp tıklanmadığını nasıl tespit edilir?
Bir kullanıcının bir bağlantıyı tıklatarak sayfadan ayrılırsa bunu tetiklemesini istemediğim benzersiz bir durum var, ancak işlev içinde bir bağlantının tıklanıp tıklanmadığını nasıl anlayacağımı anlayamıyorum işlevi durdurmak için. Sen ertelenen olay işleme aradığınız
window.onbeforeunload = function() {
var message = 'You are leaving the page.';
/* If this is Firefox */
if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
if(confirm(message)) {
history.go();
}
else {
window.setTimeout(function() {
window.stop();
}, 1);
}
}
/* Everything else */
else {
return message;
}
}
Bu cevap için harika sayesinde. Bunu jQuery olmadan kullanmaya çalışıyorum - ve fakirlerin uygulamalarını nasıl bütünleştireceğimi anlamaya çalışıyorum ama bunu anlayamıyorum (beni affet, ben bir JS newb'im). – mirin
Kodunuz yarı sağdı. Soruyu tam cevapla yanıtladı. – mirin
Herhangi biri sorunu IE'de çalıştırıyorsa, null yerine undefined dönmek zorunda kaldım. Hem krom hem de kromda çalışır. – Janspeed