[JS] Zufallsscript Probleme mit Array /gelöst

Berbatov

Rated R Superstar
ID: 208039
L
20 April 2006
3.979
192
Folgendes:
Ich bin Anfänger in Javascript und mache zur Zeit einige Tutorials dazu.
Im aktuellen geht es darum einen Zufallslink zu erzeugen mit Hilfe eines Arrays.
Folgender Code:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Zufallslink</title>
<script language="JavaScript" type="text/javascript">
<!--
         function zufallsadresse() {
         var zufall=Math.random()*(2-0)+0;
         zufall=Math.round(zufall);
         adresse=new Array(3);
         adresse[0]="https://www.klamm.de";
         adresse[1]="https://www.google.de";
         adresse[2]="https://www.yahoo.de";
         location.href=adresse[zufall];
         }
//-->
</script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h1>Zufallslink</h1>
<p>Bitte <a href="javascript:zufallsadresse()">hier</a> klicken.</p>
</body>
</html>

Funktioniert auch alles prima.
Das nächste Tutorial weist jedoch auf die Kurzschreibweise bei Arrays hin:
Beispiel: zahl=new Array("1","2","3")

Wenn ich jetzt versuche das obere Script mit der Kurzschreibweise hinzubiegen, funktioniert es nicht. Liegt das an der String Sache, weil ich die Links immoment als Text ausgeben würde? Wenn ja, wie lös ich das?
Hab schon alle möglichen Versionen ausprobiert, nur die Adressen in der Klammer (dann fehlt ja die Zufallszahl), die ganzen Zeilen in der Klammer (dann bekomm ich eine Fehlermeldung, weil der das alles als Link ansieht).

EDIT:
Hat sich schon gelöst. Man hätte den Text mal ganz lesen sollen:
Aber auch hier gilt die Index Regel. Mit zahl[0] sprichst du die 1 an...
HTML:
<!--
         function zufallsadresse() {
         var zufall=Math.random()*(2-0)+0;
         zufall=Math.round(zufall);
         adresse=new Array("https://www.klamm.de","https://www.google.de","https://www.yahoo.de");
         location.href=adresse[zufall];
         }
//-->
 
Zuletzt bearbeitet:
Das geht sogar noch etwas kürzer und generischer (so musst Du den Code nicht noch weiter anpassen, sobald Du eine weitere URL hinzufügst):
PHP:
function zufallsadresse() {
  var urls = ['https://www.klamm.de', 'https://www.google.de', 'https://www.yahoo.de'],
    url = urls[ Math.floor(Math.random()*urls.length) ];
  location.href = url;
}