1
観測シナリオを働いていないONUNLOAD:が正しく
1)ブラウザを閉じるときは、beforeunload
イベントが発生しますがunload
イベントは発生しません。
2)タブを閉じると、beforeunload
イベントとunload
イベントの両方が発生します。
質問:ブラウザを閉じるとき
どのように私はunload
方法を発射することができますか?
コード:
var inFormOrLink = false;
var flag = false;
$(document).ready(function() {
$(window).bind("beforeunload", function() {
return "You are about to close the window";
});
$(window).on("unload", function() {
if (!inFormOrLink)
window.open('../Account/Login?admin=admin', "_blank");
});
});
$(function() {
$("a").click(function() {
if (!flag) {
inFormOrLink = true;
$(window).unbind('beforeunload');
$(window).unbind('unload');
}
else {
// inFormOrLink = false;
$(window).bind('beforeunload');
$(window).bind('unload');
}
});
$(".btn").click(function() {
if (!flag) {
inFormOrLink = true;
$(window).unbind('beforeunload');
$(window).unbind('unload');
}
else {
inFormOrLink = false;
flag = false;
$(window).bind('beforeunload');
$(window).bind('unload');
}
});
$("body").keydown(function (e) {
if (e.which == 116 || e.which == 117) {
inFormOrLink = true;
}
else if (e.ctrlKey && e.keyCode == 82) {
inFormOrLink = true;
}
else if (e.which == 8) {
var tag = e.target.tagName.toLowerCase();
inFormOrLink = true;
if (tag != "input") {
e.preventDefault();
}
}
else {
inFormOrLink = false;
$(window).bind('unload');
}
});
});
「