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>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage