Ich erstelle eine MVC-Anwendung. Es gab eine Notwendigkeit, eine Variable in einer Sitzung auf Null zu setzen, wenn die Anwendung geschlossen wurde (d. h. Fenster / Tab), aber nicht beim Aktualisieren der Anwendung. Ich habe es durch den folgenden Code versucht.
%Vor%Aber wenn F5 gedrückt wird, ist "window.event.keyCode" immer 0 und nicht 116. Dadurch wird meine Variable auch bei F5-Taste Null, was nicht meine Anforderung ist.
Selbst wenn die Anwendung (d. h. die Webseite) geschlossen ist, selbst dann ihre 0 (was wahrscheinlich richtig ist).
Bitte beachten Sie, dass sich der obige Teil des Codes in der .cshtml-Datei befindet.
Kann jemand sagen, wo ich falsch liege?
Sie müssen sich verschiedene Ereignisse anhören, wenn Sie möchten, dass dies crossborwser funktioniert + Sie müssen das Key-Event jedes Mal anhören, wenn es gedrückt wird, nicht beim Laden:
%Vor%Hier ist eine Demo: Ссылка
Wenn Sie jedoch nur wissen möchten, ob der Benutzer die Seite beendet, können Sie einfach window.onbeforeunload
: Ссылка
Verwenden Sie nicht e.keyCode == 166 verwenden Sie stattdessen e.code == 'F5'.
%Vor%Dies liegt daran, dass "t" und "F5" beide die Schlüsselcode-Nummer 116 verwenden. Wenn Sie nur den Schlüsselcode eingeben, wird die Seite aktualisiert, wenn der Benutzer die Taste "t" drückt.
Ich stimme der Lösung von meo zu, aber ich werde einige Modifikationen hinzufügen.
wenn wir document.onkeydown = fkey verwenden; Zum Beispiel und auf der Seite haben wir eine andere Methode, die auf die Datei document.onkeydown wirkt. Dann wird der Browser nur das letzte Ereignis erkennen. Wenn wir jedoch verwenden: jQuery (Dokument) .on ("keydown", fkey); Selbst wenn wir eine andere Funktion haben, um das Keydown-Ereignis zu behandeln, werden alle Funktionen ausgelöst.
Siehe das nächste Beispiel, um mehr zu verstehen:
%Vor%Was hier gezeigt wird: nur 3 Alarme: f2, f3 und f4. und die Funktion f1 wird in diesem Beispiel nicht ausgelöst.
Modifizierte Version und funktioniert auch nach Drücken von 't'.
Taste 116 wird automatisch gedrückt nach 84
%Vor%Tags und Links javascript jquery