on before unload と unload メソッドに問題があります。onbeforeunload の確認メソッドが true に設定された後にのみ起動する onload メソッドに関して、コードを正しく設定したと思いました。しかし、残念ながらそうではありません。onbeforeunload メソッドが false に設定されていて、ユーザーが Web サイトにとどまりたい場合でも、unload メソッドが開始されます。ここに私が取り組んでいるコードがありますが、それがうまくいくことを願って以来、多くの変更が加えられています。私が望むように機能していないので、そうではないと確信しています。
var validNavigation = false;
function wireUpEvents() {
var leave_message = 'Leaving the page ?';
jQuery(function goodbye() {
jQuery(window).bind('onbeforeunload', function() {
setTimeout(function() {
setTimeout(function() {
jQuery(document.body).css('background-color', 'red');
}, 10000);
},1);
return leave_message;
});
});
function leave() {
if(!validNavigation) {
killSession();
}
}
//set event handlers for the onbeforeunload and onunloan events
window.onbeforeunload = goodbye;
window.onunload=leave;
}
// Wire up the events as soon as the DOM tree is ready
jQuery(document).ready(function () {
wireUpEvents();
});