簡體   English   中英

無法從body onload調用函數(未捕獲引用錯誤:啟動未定義)javascript

[英]Can't call function from body onload (uncaught reference error: start is not defined) javascript

我有一個body onload在javascript中調用一個函數。 我嘗試了很多東西,但控制台只是打印到錯誤日志:未捕獲的引用錯誤:未定義啟動。 我認為這可能是一個故障,如果它適合你,請通知我。 我的代碼如下:

 <!DOCTYPE html> <html> <head> <title>Monster Invasion</title> <script type="javascript"> var hur; var monsters = 10; var objective = false; var health = 100; var damage = 30; var sheild = false; var ea = 1; function start() { setTimeout(hurt,4000) } function hurt() { var newhelth = health - damage; health = newhelth; document.getElementById("healtw").innerHTML = health; start(); } function kill() { if(monsters > 0) { monsters--; document.getElementById("monster1").src="dead.jpg" setTimeout(next,2000) }else { objective = true; document.location="endoflevel.html"; } } function next() { document.getElementById("monster1").src="monster.jpg" } } </script> </head> <body onload="start()"> <p id="healtw"></p> <embed src="guide_first_level.mp3" type="audio/mp3" hidden="true" autostart="true"> <a id="st" onclick="kill()"><img id="monster1" src="monster.jpg"></a> <p id="ada"></p> <a href="sheild.html">Activate sheild</a> </body> </html> 

你的腳本類型錯了

試試這樣

<script type="text/javascript">
</script>

但是你不需要提到腳本類型

只需使用普通腳本標記

像這樣

<script>
</script>

在腳本標記結束之前添加一個額外的東西}

只是刪除它

function next() {
   document.getElementById("monster1").src="monster.jpg"
}
} // <-- just remove this bracket
</script>

您的代碼有兩個問題。

  1. javascript不是瀏覽器中腳本的有效類型。 瀏覽器知道text/javascript ,但不僅僅是javascript ,這就是你的代碼沒有被執行的原因。 更改type屬性或將其刪除(對於text/javascript是默認值)。

  2. 代碼末尾有一個額外的括號}。 刪除它,你的代碼將正常工作。

有3個錯誤:

  • 更正腳本標記的type
  • 代碼末尾有一個額外的}
  • 您應該更好地使用window.onload ,而不是使用onload()作為body標記,以確保在文檔准備好后運行start()函數:
    ...
    <head>   
    <title>Monster Invasion</title>
        <script type="text/javascript">
            window.onload = function(){

                // Put all your code here
                // And at the end run start() function
                start();
            }
        </script>
    </head>
    <body>
    ...

對於你們中的一些人,使用外部js文件,請檢查你是否鏈接了你的文件:)...因為我有同樣的錯誤,但我查看了我的代碼..我沒有鏈接然后文件!

以防你來這里尋找答案!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM