我正在嘗試創建一個腳本,該腳本允許我顯示將用戶重定向到四個站點中選定的隨機URL的超鏈接。到目前爲止,我已經爲網站創建了一個數組,並且嘗試生成隨機url。爲了我的目的,輸出(「點擊去一個隨機站點」)不是一個按鈕,而是一個簡單的(可點擊的)字符串。通過Javascript/HTML生成隨機鏈接
運行代碼時,我得到一個參考錯誤「未定義鏈接(在第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>
爲什麼openSite()函數裏面還有openSite()函數? –
這可能是我使用不同的方法讓代碼工作的一個副產品 –