Hallo zusammen,
ich stümpere mal wieder in Javascript rum; meine Sprache ist das nicht, und vermutlich bin ich mal wieder viel zu bescheuert.
Es geht um folgendes Script (Minimalbeispiel incl. HTML):
Was es tun soll: Bei einem Klick auf einen Link schaut es nach, ob der Besucher auf der Startseite ist (das findet es heraus, indem es schaut, ob ein Parameter in der URL übergeben wurde; ist dort keiner -> Startseite).HTML-Code:<html> <head> <title>test</title> <script type="text/javascript"> function WeiterLeitung(naechsteSeite) { var params=document.URL.split("?")[1]; var weiter = naechsteSeite; if (params == null ) { alert(weiter); window.setTimeout("window.location.href = weiter", 1000); // in msecs 1000 => eine Sekunde } else { alert(weiter); window.location.href = weiter; } } </script> </head> <body> <a href="test.html" onclick="WeiterLeitung(this.href); return false;">URL ohne Fragezeichen</a><br> <a href="test.html?Thema=Abc" onclick="WeiterLeitung(this.href); return false;">URL mit Fragezeichen</a> </body> </html>
Anhand dieser Fallunterscheidung soll es danach auf die im Browser angeklickte URL weiterleiten und zwar entweder erst nach 1.5 Sekunden (falls da kein Parameter in der URL ist) oder direkt (falls da ein Parameter ist).
Die beiden alert-Boxen sind zum Debuggen da.
Das Problem: Das funktioniert nicht (TM). Zwar zeigen mir die alert-Meldung in beiden Fällen problemlos den Inhalt der Variable weiter an, die Fehlerkonsole sagt allerdings, dass in der Zeile, in der die verzögerte Weiterleitung stattfinden soll, "weiter" nicht definiert ("not defined") ist.
Per Google finde ich nur Beispiele, in denen eine "hartcodierte" URL nach einer Verzögerung aufgerufen wird. Deswegen die Frage: Wie kriege ich den Inhalt von weiter dahin?
(P.S.: Ich weiß, dass Weiterleitungen besser nicht mit Javascript gemacht werden sollten; aber in diesem Fall geht es nur darum, Leuten, die Javascript anhaben, einen zusätzlichen Effekt zu bieten, alle anderen können die Seite auch benutzen, sie ist dann nur nicht so schön.)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)