[Javascript] Problem mit setTimeout()

krizzelfix

Commander
Registriert
Sep. 2005
Beiträge
2.626
Hallo user,

ich wollte nach 5Sek. Wartezeit den User auf eine andere Seite weiterleiten.
Hatte es erst aus einer Kombination von PHP und HTML, nur das hat nicht die gewünschten Ergebnisse gebracht.
Jetzt wollte ich das mit Javascript realisieren, nur entweder leitet das Script gar nicht und sofort weiter.
HTML:
<script type="text/javascript">
window.setTimeout(top.location.href='index.php?con_cat=<? echo bilder; ?>&amp;show=<? echo $_GET['show']; ?>&amp;currentpic=<? echo $_GET['currentpic']; ?>', 5000);	
</script>

Hatte den link auch schon in einer Funktion nur das hat auch nicht geklappt.

Ich hoffe irh könnt mir helfen.

MFG

tewes
 
AW: [Javascript]Problem mit setTimeout()

danke für deine Antwort.

Aber warum Funktioniert das auch nich wenn ich dort eine Funktion eintrage.
Habe jetzt die funktion in der datei javascript.js gespeichert und mit
HTML:
<link href="javascript.js" type="text/javascript"/>
eingebunden.

und an der stelle wo ich weiter leiten will steht:
HTML:
<script type="text/javascript">
		window.setTimeout(weiterleitenbilder('<? echo md5("bilder"); ?>','<? echo $_GET['show']; ?>','<? echo $_GET['currentpic']; ?>'), 5000);	
   </script>
Die Javascript-Konsole gibt immer
weiterleitenbilder is not defined
aus.
Aber eigentlich sollte die funktion doch bekannt sein. Oder ist ein Fehler in dem Link?

MFG

tewes
 
AW: [Javascript]Problem mit setTimeout()

Scheinbar hast du Enigma's Post nicht gelesen, oder?

So wird es klappen:

PHP:
<script type="text/javascript">
	window.setTimeout('weiterleitenbilder(\'<?php echo md5("bilder"); ?>\', \'<?php echo $_GET['show']; ?>\', \'<?php echo $_GET['currentpic']; ?>\')', 5000);
</script>

Ciao
 
AW: [Javascript]Problem mit setTimeout()

@tewes
Das ist ein Phänomen bei JS, was ich auch schon vor längerem bemerkt habe.
Entweder Funktion und Aufruf in eine einzige js-datei, oder alles in die HTML-Seite, ohne zusammenhängende Verweise auf Sachen in der js-Datei.
 
AW: [Javascript]Problem mit setTimeout()

@S.Giny: Doch hatte den text gelesen.
@Relict: Danke für den Tipp, hoffe aber das ich js nicht mehr so oft in die Quere komme.

MFG

Tewes
 
AW: [Javascript]Problem mit setTimeout()

@Relict & Tewes

Das hat nichts mit diesem Phänomen zu tun, sofern es das überhaupt gibt. Mir ist es jedenfalls noch nicht untergekommen. Wie Enigma schon schrieb muss der erste Parameter der Funktion setTimeout() ein String sein. Dieser wird nämlich lediglich per eval() interpretiert.

Der Fehler, den Tewes bekam weißt schon darauf hin. Der Interpreter hat nämlich weiterleitenbilder als Variable interpretiert und nicht als Funktion.

So ich hoffe das ist jetzt alles klarer geworden. Übrigens ist SelfHTML hierfür auch eine gute Lektüre.


Ciao
 
AW: [Javascript]Problem mit setTimeout()

@S.Giny: Bin noch nicht so fit in Javascript und wusste nicht das man da ' ' um die funktion setzt muss, und finde das auch ein bisschen unlogisch.

Und in SelftHTML habe ich die funktion gefunden^^ und habe sie mir auch sehr oft durchgelesen. Aber in solchen Situationen wünsch ich mir die Dokumentation von .NET

MFG

tewes
 
AW: [Javascript]Problem mit setTimeout()

Hmm was soll ich denn nächstes mal noch schreiben, damit es Idiotensicher ist (nicht böse gemeint) :)
 
AW: [Javascript]Problem mit setTimeout()

mhh das weiss ich auch nicht, vll sollte ich genauer lesen und mal ein JavaScript Tut machen damit ich das verstehe.

MFG

tewes

EDIT:
@Relict: Hast du vll deine Javscript datein min <link.... eingefügt?
Hatte das bis grade auch und ich konnte externe Funktionen nicht verwenden. Habe das jetzt in <script umgeändert und es klappt.

MFG

tewes
 
Zuletzt bearbeitet:
AW: [Javascript]Problem mit setTimeout()

Nee mit link binde ich nur css ein, js mit script.
Wieso, weshalb, warum das so nicht ging weiss ich auch net, probiert hatte ich vieles, das script war auch recht komplex. Vllt. lags an der Browserversion oder Timingprob oder was auch immer. Hab dann alles ganz anders gemacht und dann doch noch hinbekommen.

Trotzdem danke, wenns jetzt bei Dir funzt ist alles paletti. :daumen:
 
Achso, dachte das du evtuell den selben Fehler wie ich gemacht hast.

Naja funktioniert noch nicht alles, aber schon besser,

MFG

tewes
 
Zurück
Oben