2010-08-30 3 views
5

Ich habe einen Client, der gerade die Apple Magic Mouse bekommen hat. Wir haben eine Rezeptwebseite gebaut und sie wird sehr verärgert, wenn sie alle Informationen für das Rezept eingibt, dann geht sie zu ihrer neuen Maus und scrollt zufällig nach rechts und sie macht einen Zurück-Suchlauf und alle ihre Informationen sind verloren. Sie möchte also warnen/aufspringen, um zu verhindern, dass dies auf dieser Seite passiert.Verhindern ein versehentliches Zurück Durchsuchen

Irgendwelche Vorschläge oder weisen Sie mich auf einige JS, die das tut?

Antwort

11

Dies ist ein grundlegendes Skript 'warn vor dem Urlaub'. Wenn der Benutzer einen Schlüssel in dem Textfeld drückt, wird der Benutzer benachrichtigt werden, wenn er (sie) im Begriff ist, die Seite zu verlassen:

<script type="text/javascript"> 
var changes = false; 
window.onbeforeunload = function(){ 
    if(changes){ 
     return "You're about to leave this page."; 
    } 
}; 
</script> 
<textarea onkeypress="window.changes=true">recipe here</textarea> 

Alternativ können Sie den Inhalt des Textfeldes in einer Variablen speichern können, wenn die Seite lädt und vergleicht es danach. Dies führt zu Verwirrung, wenn der Besucher einfach nur die Pfeiltasten im Textfeld drückt, ohne ihn zu verändern.

+0

+1 das ist, wie Google Mail usw. es auch tun. –

+0

Ja, wenn es mutige harts gibt, die von diesem Legacy-Code betroffen sind, unterstützt WebKit (Google Chrome, Safari) nicht vor dem Laden mit 'addEventListener'. – Lekensteyn

+0

Der einzige zuverlässige Weg besteht darin, onforefunload als Eigenschaft des Fensters festzulegen. Da es für jede Seite nur einen gibt, gibt es keinen Grund, warum Sie addEventListener trotzdem verwenden möchten. –

0

Also möchte sie warnen/aufspringen, um dies auf dieser Seite zu verhindern.

Sie können sich in das Ereignis onBeforeUnload Ihres Browsers einklinken und dann eine Bestätigungsmeldung anzeigen.

Verwandte Themen