Mit JavaScript User Aktionen in Website abfangen

S

sideshow

Mitglied
Thread Starter
Dabei seit
24.01.2005
Beiträge
92
Reaktionspunkte
0
tach forum,

heut hab ich mal ein ganz spezielles problem:

ich möchte die folgenden user aktionen im browser abfangen und gegebenfalls "abbrechen". d.h., wenn ein user das fenster bzw. den tab schließen möchte, oder eine andere url in die adresszeile eingibt und enter drückt, oder die seite refresht, oder mit den vor/zurückbuttons navigieren will, dass dann eine meldung kommt:

"äh... sind sie sicher... bla bla bla..." buttons "ok" und "abbrechen"

wenn ich auf ok klicke soll die seite geschlossen werden bzw. soll die url die eingegeben wurde geladen werden, usw.

wenn ich abbrechen drücke dann soll nix passieren und die aktion eben abgebrochen werden.

das es geht hab ich z.b. hier gesehen http://zimbra.com/products/hosted_demo.php (skip registration and go to demo anklicken)

habt ihr ne anung wie ich das mit event handlern bzw. event listener hinbekomme?

danke und viele grüße!
 
Mal ganz davon abgesehen, dass du damit dem User daran hinderst deine Webseite zu verlassen, was die Benutzr nur verscheucht, würd ich auch sagen, dass das JavaScript-Kapitel von SelfHTML wohl das beste ist.

Mal nach Event-Handlern gucken. Oder bei "window"...

Aber warum hast du sowas vor? Genau das sind die Javascripts, weswegen viele Menschen erst JavaScript ausgeschaltet haben...
 
selfhtml hab ich mir zu genüge reingezogen - hab da aber leider nix brauchbares draus basteln können...

wer sagt denn das ich den user daran hindern will diese aktionen auszuführen? ich möchte ihn darauf hinweisen, das es nicht sehr sinnvoll ist den reload-, vor- oder zurückbutton in einer ajax-basierten seite zu drücken. wenn er dann die aktion immer noch ausführen will dann bitte gern, aber dann funzt es halt auch nicht mehr richtig...

das war mein hintergedanke dabei!
 
sideshow schrieb:
selfhtml hab ich mir zu genüge reingezogen - hab da aber leider nix brauchbares draus basteln können...

contradictio eo ipso ;)
Es steht alles da! Das ist so ziemlich die vollständigste Referenz mit Step by Step Beispielen! Investier einfach mehr Zeit!
 
na dann dank ich schön für eure hilfe... und finds selber raus!
 
Es steht wirklich alles da:

bei einem Button oder was auch immer, wird ein event eingefügt:

<input type="button"... onClick="isSubmitAllowed()">

Dann schreibst Du Dir, wie dort beschrieben eine Javascriptmethode

isSubMitAllowed()

that's it! Was erwartest Du? Fertigen Code? Lies es Dir in Ruhe durch und vor allem arbeite die Beispiele durch. Sonst lernt man es in der Tat nicht.
 
wegus schrieb:
that's it! Was erwartest Du? Fertigen Code? Lies es Dir in Ruhe durch und vor allem arbeite die Beispiele durch. Sonst lernt man es in der Tat nicht.

bestimmt nicht! ich erwarte bestimmt keinen fertigen code! nur einen tritt in die richtige richtung!
was mich besonders an macuser.de stört (und das war bei so ungefähr bei jedem thread den ich gestartet hab so) ist, das die ersten antworten die man bekommt meistens irgendwie in die richtung gehen:

ja junge, denkst du denn gar nicht nach? das is totaler blödsinn! hast du vorher nicht gegoogelt, etc...

ich mach mir vorher sehr wohl gedanken darüber wie ich das problem lösen will, mach mich dann irgendwie schlau, die erste anlaufstelle ist dann meistens php.net, selfhtml oder was auch immer und dann erst such ich mir hilfe in foren!

so, sorry - war irgendwie grade sauer... wollte meine schlechte laune nicht hier auslassen. falls schon passiert dann entschuldige ich mich an dieser stelle!

ich werd mal mein schlaues js-buch zu rate ziehen vielleicht find ich da noch nen wink in die richtige richtung!
 
Die Lösung steht doch schon da...
Und der Verweis auf SelfHTML ist ja wohl naheliegend.
Ich mein, Du sagst, dass Du in SelfHTML nichts gefunden hast, weiß aber, dass das, was Du suchst ein Eventhandler ist.

Und in SelfHTML steht unter Eventhandler im JavaScript-Bereich genau das, was ich oben geschrieben habe...
Das sieht nunmal so aus, als hättest Du entweder nicht bei SelfHTML nachgeschaut, oder halt nur 5 Sekunden nachgeschaut...
 
sideshow schrieb:
bestimmt nicht! ich erwarte bestimmt keinen fertigen code! nur einen tritt in die richtige richtung!

Es sind inzwischen ausreichend dabei :)

sideshow schrieb:
so, sorry - war irgendwie grade sauer... wollte meine schlechte laune nicht hier auslassen. falls schon passiert dann entschuldige ich mich an dieser stelle!

kein Problem!


sideshow schrieb:
ich mach mir vorher sehr wohl gedanken darüber wie ich das problem lösen will, mach mich dann irgendwie schlau, die erste anlaufstelle ist dann meistens php.net, selfhtml oder was auch immer und dann erst such ich mir hilfe in foren!

Das ist ja auch alles richtig! Du verwendest in Deiner Frage aber auch gleich die Lösung ( eventhandler) ohne allerdings eine konkrete Frage dazu zu haben. Damit kommst Du zwangsläufig in den Topf mit denen, die probieren hier zu einer vagen Idee ein Script geschrieben zu bekommen, denn mit etwas Mühe hättest Du zumindest einen Rohentwurf gehabt. Wer das nun wie meint, kann ja keiner wissen.

sideshow schrieb:
ich werd mal mein schlaues js-buch zu rate ziehen vielleicht find ich da noch nen wink in die richtige richtung!

tu es nicht! Bei Selfhtml steht schon Alles! Wichtig ist das durcharbeiten der Beispiele. Vom Lesen allein lernst Du nichts. Ist wie bei Instrumenten, Du mußt praktisch üben! Eventhandling und onClick/onLoad/onUnload/onSubmit sind schon die richtigen Wege! Probiers mal aus, wenns an konkreten Codezeilen hakt, komm gerne wieder!
 
gut, ok... da kam von mir wohl zu wenig infos...

also noch mal von vorn! ;)

soweit bin ich schon:
Code:
<script type="text/javascript">
function onUnload(){
	if ( !confirm ("Wollen Sie wirklich die Seite verlassen?")) {
		alert("abbruch der aktion!")
	}
}
</script>

<body onunload="onUnload();">

das funktioniert auch wunderbar, nur muss jetzt das alert so ersetzt werden, das er auch wirklich die aktion (seite verlassen, fenster schliessen, seite vor/zurück) abbricht.

und da häng ich fest!

(kleinlaut: ich gebe zu ich hätte von anfang an diesen code posten sollen dann wäre wohl einiges besser gelaufen)
 
Hab jetzt leider keine Zeit (arbeiten), um mir meinen Link näher anzugucken.

Ist (schande über mich ;) ) Aus Selfhtml, das JavaScriptbeispiel zum überprüfen der Formulareingaben. Dort wird das Senden auch verhindert.

Ich weiß jetzt aber nicht, wie weit das mit dem Forumlar verknüpft ist, musst Du selbst mal schauen...

http://de.selfhtml.org/javascript/beispiele/formulareingaben.htm

gruß
Lukas

(Und ja, dan wäre es um einiges besser gelaufen ;) )
 
geht leider nicht (oder ich kapiers nicht, kann natürlich auch gut sein...)

beim formular wird das "onsubmit()" mit "return false" abgebrochen.
ich habe aber bei mir kein onsubmit deswegen funktioniert das return false nicht...

das macht mir kopfzerbrechen! ;)
 
Bin nicht so besudelt mit JS-Kenntnissen, aber kannst Du nicht einfach das „return false;“ statt dem „alert();“ setzen?
 
Zurück
Oben Unten