gpt4 book ai didi

javascript - 如何检测浏览器窗口/选项卡关闭事件?

转载 作者:行者123 更新时间:2023-12-02 00:39:15 25 4
gpt4 key购买 nike

我正在尝试使用 onbeforeunload 和 Unload 函数。但这没有用。当点击链接或刷新时,会触发此事件。我想要一个仅在浏览器窗口或选项卡关闭时触发的事件。该代码必须在所有浏览器中都能运行。

我在母版页中使用以下代码。

<script type="text/jscript">

var leaving = true;
var isClose = false;

function EndChatSession() {
var request = GetRequest();
request.open("GET", "../Chat.aspx", true);
request.send();
}
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (e)
keycode = e.which;
if (keycode == 116) {
isClose = true;
}
}
function somefunction() {
isClose = true;
}
window.onbeforeunload = function (e) {
if (!e) e = event;
if (leaving) {
EndChatSession();
e.returnValue = "Are You Sure";

}
}
function GetRequest() {
var xmlHttp = null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) {
//Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
</script>

在我的正文标签中:

上面的代码可以在 IE 中运行,但不能在 chrome 中运行...

最佳答案

此代码阻止复选框事件。当用户单击浏览器关闭按钮时它起作用,但当单击复选框时它不起作用。您可以将其修改为其他控件(texbox、radiobutton 等)

    window.onbeforeunload = function () {
return "Are you sure?";
}

$(function () {
$('input[type="checkbox"]').click(function () {
window.onbeforeunload = function () { };
});
});

关于javascript - 如何检测浏览器窗口/选项卡关闭事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21227383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com