2009-05-26 17 views
0

Ich möchte ein Bestätigungsfenster bei Klick auf einen Browser zurück Knopf. Wenn ich Ja drücke, wird die vorherige Seite geladen, sonst bleibe ich auf der gleichen Seite?Wie über den Browser zurück zu steuern Taste

ist Jeder Vorschlag sehr geschätzt .. Aber bitte auf dem richtigen Weg sein .. meine Frage

thx im voraus ..

Antwort

4

Warum wollen Sie gerade nach vorne ist, das zu tun?

Sie können verhindern, dass sie die Seite mithilfe von Javascript verlassen, aber wenn Sie das nicht verwenden können, ist es nicht möglich, etwas dagegen zu tun.

Generell sollten Sie das Unload-Ereignis im Körper (in jQuery zum Beispiel verwenden, fügen Sie einfach

jQuery(window).unload(function(evt){ 
    if(!confirm('Do you really want to leave')){ 
     evt.preventDefault(); 
    }}); 

Prototype haben etwas ähnliches, und für reine Javascript, ich denke, dass es nach wie vor auf dem Browser ab, die Sie‘ re verwenden, aber window.unload = function(evt){return false;}Macht Arbeit.

Sie die korrekte Syntax für sie allerdings nicht mehr erinnern.

aber ich weiß nicht, ob Sie die bac, dass für nur begrenzen k oder wenn es für alle Entladevorgänge (wie das Klicken auf einen Link, das Schließen des Browsers usw.) ausgelöst wird.

Wenn Sie sie stoppen möchten, weil sie möglicherweise nicht gespeicherte Daten in einem Formular gespeichert haben, ist das in Ordnung. Wenn Sie verhindern wollen, dass sie aus einem anderen Grund zurückkehren, sollten Sie den Grund noch einmal überdenken.

+0

Hallo Keijro, Thx für Ihre schnelle Antwort, aber ich möchte das Bestätigungsfenster beim Klicken auf den Browser zurück nur Schaltfläche, nicht auf entladen.So, wenn Sie irgendwelche Antwort haben, schlagen Sie vor. –

+0

Es ist mir nicht bekannt, ob es genau der Zurück-Knopf ist, der gedrückt wird (vielleicht mit Firefox und einem Plugin, aber das sind wirklich spezielle Fälle). Was ich in diesem Fall vorschlagen würde, ist Proxy-Seiten, die den Benutzer zurückleiten, wenn es von der falschen Seite kommt (oder vielleicht durch die Verwendung von Cookies). Sie sollten jedoch den Grund, warum Sie ihnen nicht erlauben, rückwärts zu gehen, wirklich überdenken. Vielleicht gibt es eine bessere Lösung. –

1

Generell gilt: Wenn die Zurück-Taste verwenden, können Probleme verursachen Sie schon größere Probleme haben.

Was möchten Sie wahrscheinlich zu tun ist, Kontrolle, dass Sie Dinge tun, wie folgt:

  • Verwenden POST für alle Anfragen, die Daten verändern
  • Verwenden nonce die (eindeutige IDs) Formulare enure nicht vorgelegt bekommen zweimal
+0

+1, um Drive-by -1 rückgängig zu machen. Ich denke, das ist eine vernünftige Antwort (obwohl es keine Antwort auf die Frage ist). Trotz der Bitte, die gestellte Frage zu beantworten, halte ich es für unrealistisch, jemanden denken zu lassen, er könne meinen Webbrowser so steuern, dass ich nicht auf den Zurück-Button klicke. –

0

Ich benutze noscript aus diesem Grund. Ich bestehe darauf, die Kontrolle über meinen Browser zu haben, nicht die Seite, die ich besuche. Ich erlaube nur Skripte für bestimmte Websites. Für jede Site, die meine Zurück-Schaltfläche deaktiviert, erlaube ich nicht, Skripts auszuführen.