Töten Sitzungen über den browser/tab schließen
Ich hab schon versucht das zu lösen wie die Sitzung schließen, wenn browser/tab geschlossen wird. Nach dem Daniel Melo Antwort + die Einstellung Sitzung coockie TTL auf 0, ich bin fast fertig, aber Daniel ' s Tipp ist funktioniert nicht für input type=[button].
var validNavigation = false;
function endSession() {
document.cookie = 'MYOWNSESSID=; path=/';
}
function okEvent(){
validNavigation = true;
}
function wireUpEvents() {
window.onbeforeunload = function() {
if (!validNavigation) {
endSession();
}
}
$("a").bind("click", okEvent );
$("form").bind("submit", okEvent );
//that's my adds that don't work
$(":button").bind("click", okEvent );
$(":button").bind("submit", okEvent );
$(":button").onclick= okEvent;
}
//Wire up the events as soon as the DOM tree is ready
$(document).ready(function() {
wireUpEvents();
});
Den Schlüssel, wenn zum Kennzeichnen eines Ereignisses als gültig vor der Entladung erfolgt. Ich bin versucht zu Haken die Tasten klicken aber ohne Erfolg. Die jquery-Selektor ist in Ordnung, habe ich überprüft, die $(':Taste').length > 0.
Sicher bin ich etwas fehlt, aber kann es nicht finden.
- Nichts falsch in deinem code...eigentlich dein Zusatz ist nicht erforderlich, da Sie sind dem Aufruf der
okEvent
Funktion auf das submit-Ereignis des Formulars. Sowieso, können Sie setzen und Alarm in der okEvent zu prüfen, ob es tatsächlich die Einstellung der fahne? - Dank ifaour. was Sie sugest ist genau das, was ich getan habe. Ich habe ein alert auf okevent (), so weiß ich, wenn es heißt, das funktioniert gut, außer für die Eingabe geben Sie[Taste].
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, hier sind einige Tipps:
-ersetzen Sie die drei Linien, die Sie Hinzugefügt haben, mit:
Nicht binden Sie das submit-Ereignis auf eine Schaltfläche, Eingabe, nicht zu verwechseln mit dem Submit-input (mehr):
-wenn Sie mit dem Button zum abschicken des Formulars mit dem submit-input statt, und entfernen Sie alle Ihre Ergänzungen, da das submit-Ereignis wird bereits an der form:
Bitte überprüfen Sie diese test, um besser zu verstehen, die Taste Eingabe.
href
..es ist immer noch ein JS-Aufruf. Trotzdem froh, dass Sie es geschafft habe!