Генерация случайной ссылки через Javascript / HTML

Я пытаюсь создать скрипт, который позволяет отображать гиперссылку, которая перенаправляет пользователя на случайный URL, выбранный из четырех сайтов. До сих пор я создал массив для сайтов и функцию, которая пытается сгенерировать случайный URL. Для моей цели важно, чтобы на выходе («Нажмите, чтобы перейти на случайный сайт») была не кнопка, а простая (кликабельная) строка.

При запуске кода я получаю ссылку ошибки «ссылка не определена (в строке 18)». Я думал, что я определил ссылку в коде сvar link = 'http://' + links[randIdx];, поэтому я не совсем уверен, почему я получаю эту ошибку и как ее исправить.

Кто-нибудь, кто может взглянуть на мой код, чтобы увидеть, где я допустил ошибку и как я мог это исправить?

<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>

Ответы на вопрос(3)

Ваш ответ на вопрос