Kopieren Sie den Code -Code wie folgt:
// Funktionsfenster.onunload () {alert ('Dies ist, was Sie tun möchten, nach dem Schließen der Webseite!');
// Funktionsfenster.
Funktionsfenster.onunload () {
If (window.screenleft> = 10000 && window.screentop> = 10000) || Ereignis.Altkey) {
alert (window.screenleft+","+window.screentop);
// Aktion, die ausgelöst werden muss, wenn der Benutzer normal geschlossen werden muss
location = 'Handler1.ashx';
}
}
</script>
Handler1.ashx:
Kopieren Sie den Code -Code wie folgt:
mit System verwenden;
mit System.Collectionss.gneric;
mit System.linq;
mit System.Web;
mit System.Web.Services;
mit System.Web.SessionState;
Namespace WebApplication1
{{{{
/// <summary>
/// $ codebehindClassName $ Zusammenfassung Beschreibung
/// </summary>
[WebService (Namespace = "http://tempuri.org/")]
[WebServiceBinding (conformsto = wsiprofiles.BasicProfile1_1)]]]
öffentliche Klasse Handler1: Ihttphandler, irequiressionState
{{{{
Public void processRequest (HTTPContext -Kontext)
{{{{
context.Response.contentType = "text/plain";
context.session.abandon ();
context.session.clear ();
}
Öffentlich bool isreusable
{{{{
erhalten
{{{{
False zurückgeben;
}
}
}
}
erklären:
Die allgemeine Mitgliedsform eines Mitglieds errichtet nach dem Mitglied der Mitgliedsanmeldung eine Sitzung oder ein Cookie. Anschließend müssen Sie die Verbindung beenden oder am neuen neuen neuen neuen neuen neuen neuen neuen Neuen beenden. Als Mitglieder das Fenster direkt schließen, löste eine Reihe von Ausgangsbeschwerden nicht aus. Und diese werden gelöscht, bis die Serversitzung abläuft.
Glücklicherweise fand ich endlich den Weg, Benutzer mit Alt+F4, der Titelleiste, rechts -Klick, doppelt die Titelleiste zu erfassen und die Schließknopf direkt zu drücken. Natürlich kann es nicht für die Minimierung der Taskleiste erfasst werden.
Kopieren Sie den Code -Code wie folgt:
<script Language = "JavaScript">
<!-
Funktionsfenster.onunload () {
if (window.screenleft> = 10000 && window.screentop> = 10000) || Ereignis.Altkey)
{{{{
// Aktion, die ausgelöst werden muss, wenn der Benutzer normal geschlossen werden muss
}
}
->
</script>
veranschaulichen:
Fenster.Screenlect = 10000 + Randbreite (2 × 2) = 10004
Fenster.Screntop = 10000 + Symbolleiste hoch + Titelleiste hoch = 10097
Es sollte erklärt werden, dass diese Koordinateneigenschaften im Bildschirm in OnbeForeUnload normale Werte sind.
ScreenLeft: Holen Sie sich die X -Koordinate der oberen linken Ecke des Browser -Clientbereichs relativ zur oberen linken Ecke des Bildschirms.
Screentop: Holen Sie sich die Y -Koordinate der oberen linken Ecke des Browser -Clientbereichs im Vergleich zur oberen linken Ecke des Bildschirms.
Ich denke, dass ein besonderer Wert generiert wird, wenn das Fenster zerstört wird. Unter normalen Umständen überschreitet der Wert den Wert nicht.
Das Problem besteht nun darin, dass die Verwendung von window.location in onbeforeUnload die Anforderung normalerweise an die angegebene URL senden kann, die Methode jedoch nicht im Onun -Ereignis effektiv ausgeführt werden kann. Die Lösung besteht darin, ein neues Fenster zu öffnen, um es zu schließen.
Wir können solche Wörter anstelle einer Reihe von Fenster schreiben. Da Portal -Websites mehrere Cross -Server -Website -Server umfassen. Nach dem Verlassen des einheitlichen Eingangs müssen Sie aussteigen, um die erwartete Wirkung des Portals zu erzielen.
var newwindow;
Window.opner = null;
newWindow = window.open (URL, Pagename, 'Höhe = 0, width = 0');
newwindow.opner = null;
newwindow.close ();
Nympho
Dieses Segment des Codes wurde getestet. OnbeforeUnload ist ein Ereignis, das die Seite vor der Deinstallation ausgelöst wird.
Die sogenannte Entfernung ist im Wesentlichen die Seiten, die die Ausgangsfunktion direkt durch Öffnen des neuen Fensters machen. Es kann ein oder zwei Sekunden lang angehalten werden, wenn es aufgerufen wird, oder das Fenster auf einer speziellen Exit -Seite geschlossen werden. Die Seite verlässt sich normal und kehrt auf die Homepage zurück.
[Anmerkung] Wenn Sie nicht in window.onunload beurteilen, werden Sie das Ereignis auslösen, wenn Sie die Seite "Aktualisierung" nicht beurteilen. Daher ist es notwendig, bestimmte Operationen zu beurteilen und zu erfassen, um einige normale Operationen zu blockieren.
Kontinuierlich: So löschen Sie die Sitzung, bevor der Benutzer das Fenster direkt schließt
Gestern habe ich die Implementierung der Implementierung erläutert, aber im tatsächlichen Betrieb wurde festgestellt, dass die Verzögerung hinzugefügt werden muss, um sicherzustellen, dass das Programm normal ausgeführt werden kann. Die Implementierungsdetails sind unten beigefügt und eine einfache Zeitverzögerungsfunktion ist beigefügt. Der Code wurde getestet.
Kopieren Sie den Code -Code wie folgt:
<script Language = "JavaScript">
Funktionsfenster.Onunload ()
{{{{
var newwindow;
if (window.screenleft> = 10000 && window.screentop> = 10000) || Ereignis.Altkey)
{{{{
newwindow = window.open ('Programmadresse "," Webseite Name ",
'Breite = 0, Höhe = 0, Top = 4000, links = 4000');
newwindow.opner = null;
Schlaf (5000);
NewWindow.close ();
}
}
Funktionsschlaf (Milisekunde)
{{{{
var currentDate, Begindate = neues Datum ();
Var beginHour, beginneMinute, begindesekond, beginms;
Var stoundgaps, winzige, zweitgaps, msgaps, Lücken;
beginHour = Begindate.nethouse ();
beginMinute = Begindate.getminutes ();
Beginsecond = Begindate.getSeconds ();
beginms = Begindate.getMilliseconds ();
TUN
{{{{
CurrentDate = new Date ();
HOGGAPS = CurrentDate.Gethours () -BeginHour;
winNEGAPS = CurrentDate.getMinutes () -Beginminute;
SecondGaps = CurrentDate.getSeconds () -BegineScond;
msgaps = currentDate.getMilliseconds () -Beginms;
if (stündete <0) stündete+= 24;
Lücken = Stundengaps*3600+ MinuteGaps*60+ SecondGaps;
Lücken = Lücken*1000+msgaps;
} Während (Lücken <milisekunden);
}
</script>
Zweitens können Sie Folgendes bedienen, wenn das Fenster geladen oder beendet ist, wenn Sie den Browser aktualisieren möchten:
<script type = "text/javaScript" Sprache = "JavaScript">
Window.opent.document.location.reload ();
</script>
<boey nur = "opener.location.reload ();"> Aktualisieren Sie beim Öffnen des Fensters
<body onunload = "opener.location.reload ();"> Aktualisieren