我目前正在检测我网站的用户是否关闭了窗口/标签或更改了网址。
我正在使用以下代码,它完美运行:
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();
});
我的问题是我想将事件从警报更改为叠加层。我已经设置了隐藏的div叠加层,并将以上代码中的警报替换为:
$('.overlay').css('display','block');
现在不再有效,因为div中没有任何内容可以让用户留在页面上。 (用户无需单击警报中的按钮)
关于我如何解决这个问题的任何建议?
干杯,丹
答案 0 :(得分:8)