Erstellung eines zufälligen Links durch Javascript / HTML
Ich versuche ein Skript zu erstellen, mit dem ich einen Hyperlink anzeigen kann, der den Benutzer zu einer zufälligen URL weiterleitet, die aus vier Sites ausgewählt wurde. Bisher habe ich ein Array für die Sites und eine Funktion erstellt, die versucht, die zufällige URL zu generieren. Für meinen Zweck ist es wichtig, dass die Ausgabe ("Click to go to a random site") keine Schaltfläche, sondern eine einfache (anklickbare) Zeichenfolge ist.
Beim Ausführen des Codes erhalte ich die Fehlermeldung "Link ist nicht definiert (in Zeile 18)". Ich dachte, ich hätte den Link im Code mit @ definievar link = 'http://' + links[randIdx];
, daher bin ich mir nicht ganz sicher, warum ich diesen Fehler erhalte und wie ich ihn beheben kann.
Hat jemand einen Blick auf meinen Code geworfen, um zu sehen, wo ich einen Fehler gemacht habe und wie ich ihn beheben könnte?
<a href="javascript:openSite()">Click to go to a random site</a>
<script>
function openSite() {
var links = [
"google.com",
"youtube.com",
"reddit.com",
"apple.com"]
openSite = function() {
// get a random number between 0 and the number of links
var randIdx = Math.random() * links.length;
// round it, so it can be used as array index
randIdx = parseInt(randIdx, 10);
// construct the link to be opened
var link = 'http://' + links[randIdx];
};
return link;
document.getElementById("link").innerHTML = openSite();
}
</script>