javascript onbeforeonload

Siegfried_D

Angesehenes Mitglied
Hallo Leute,
wieder mal was kniffliges:

Ich möchte, wenn ein User meine Seite verlässt oder den Browser schliesst, dass eine Meldung mit der Möglichkeit der Auswahl ausgegeben wird.

Habe sowas auch schon gefunden:

<script type=\'text/javascript\'>
<!--
window.onbeforeunload = function () {
return "Sie haben noch Artikel in Ihrem Warenkorb, wenn Sie die Seite jetzt verlassen wird Ihr Warenkorb gelöscht!";
}
//-->
</script>'

Leider kommt diese Meldung aber auch, wenn der User sich auf meiner Seite (innerhalb der URL) bewegt.

Wie kann ich auslesen, welche URL aufgerufen wurde, damit diese Meldung nur kommt, wenn der User die Seite (meine Domain) wirklich verlässt??

bin für jede Hilfe dankbar!!
 
Du setzt bei jedem Link-Click (onclick) eine globale Variable (var close = true;) auf einen anderen Wert (close = false;). In deiner Funktion prüfst du dann, ob close auf "true" ist. Und nur wenn das der Fall ist, gibst du etwas zurück.
 
Danke NC,
geht das auch so, dass ich nicht alle Links ändern muss?


Sind schon ein paar hundert Links vorhanden...
 
mei, mei, speicher den Warenkorb doch in einem Cookie.
 
Dann gibt es wohl nur 2 Möglichkeiten:

1. eine dämliche Meldung ausgeben, da der User das Löschen des Warenkorbs nach dem unload ohnehin nicht mehr verhindern kann.
Dann sollte zu jedem link auch noch ein confirm stehen. wie etwa: wollen Sie jetzt wirklich meine Webseite verlassen ?" -ja-nein-weissnicht

2. oder du willst was ganz anderes damit anfagen.
 
die Meldung wird bei onbeforeonload ausgegeben und der Kunde kann das Schliessen des Fensters noch verhindern.

Einziges Problem: Die Meldung kommt beim Verlassen der Seite (index.php) und nicht der Domain.

Hat jemand ne Idee, wie man das Verlassen der Domain rausfiltern kann, damit die Mitteilung nur kommt, wenn die Domain verlassen werden soll?
 
Zurück
Oben