Ich versuche mit onbeforeunload und Entladen-Funktion. Aber es hat nicht funktioniert. Beim Klicken auf einen Link oder eine Aktualisierung wurde dieses Ereignis ausgelöst. Ich möchte ein Ereignis, das nur ausgelöst wird, wenn ein Browserfenster oder eine Registerkarte geschlossen wird. Der Code muss in allen Browsern funktionieren.Browserfenster/Tab erkennen Ereignis schließen?
Ich verwende folgenden Code in Masterpage.
<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>
und in meinem Körper tag:
Der obige Code funktioniert in IE, aber nicht in Chrom ...
Bei der Aktualisierung wird auch die Warnung aufgerufen. . . . keine Idee, Refresh-Ereignis – Gora