Hallo Sascha,
http://www.serfus.de/java.html
</faq/#Q-19>
Geht aber immer noch... lasgoogle sagt mir keine fehler!
Dafür aber der Validator: [http://validator.w3.org/check?uri=http%3A%2F%2Fwww.serfus.de%2Fjava.html]. Du solltest deine Seiten auf jeden Fall immer damit überprüfen, wenn irgendetwas nicht so funktioniert wie es sollte. Dein JavaScript enthält aber noch ein paar kleine Fehler:
script language="javascript>
^
Hier fehlt, wie der Validator schon angemeckert hat, das schließende Anführungszeichen
zl=new Array()
zl[0]="http://www.serfus.de
^
Auch hier fehlen wieder Anführungszeichen.
zl[1]="http://www.lose-werbung.de"
anzahl=2
anzahl müsste in diesem Fall den Wert 1 haben. Das war aber mein Fehler, da hatte ich nicht daran gedacht. Es ist aber unnötig, für anzahl eine Konstante zu verwenden. Der Ausdruck zl.length - 1 liefert das gleiche Ergebnis und es macht nichts aus, wenn du dem Array noch beliebig viele weitere Elemente hinzufügst.
function zufall() {
Die Funktionsanweisung kannst du weglassen, die ist in diesem Falle überflüssig.
parent.iframe.location.href=zl[Math.floor(Math.random()*anzahl)]
~~~~~
Hier solltest du stattdessen die Methode Math.round() verwenden.
}
zufall()</script>
^
Das '>' ist zu viel.
Das Beispiel sollte jetzt funktionieren. Allerdings nur wenn der Besucher Javascript aktiviert hat. Wenn du auch die Besucher ohne Javascript erreichen willst, musst du dich mit einer serverseitigen Technik befassen. Beispiele dafür wären z.B. CGI mit Perl oder PHP.
Ich würde dir übrigens vorschlagen, dich mal nach einem Editor mit Syntax-hervorhebung umzuschauen. Mit so einer Hilfe, wären dir die meisten Fehler schnell von alleine aufgefallen.
Und noch ein kleiner Hinweis: Es ist sauberer Programmierstil, jede Anweisung mit einem Semikolon ';' abzuschließen.
Schöne Grüße,
Johannes
Das sage ich deshalb, weil ich Hompagebauer bin und Ahnung davon .
ss:| zu:) ls:[ fo:) de:] va:) ch:) n4:| rl:) br:< js:| ie:{ fl:( mo:}