2014-11-21 51 views
0

我在運行html5內部的一些JS時遇到了一些麻煩。 下面是發生了什麼,每當我從我使用的JS文件中刪除數組的所有實例時,腳本在索引文件中加載正常,但是,當我將src添加到屬性和/或從所述文件中提及數組名稱時,它打破了。就那麼簡單。初學HTML5路徑/ to/jsFile。無法加載腳本?

因爲我打算做一個很大的網站,我已經開始組織我的根。

這裏有一個小演示:

rootFolder/ 
index.htm 
js/targetJS.js 

這裏的代碼

<script src="js/targetJS.js" type="text/javascript"> 

       document.writeln("<table id='services' class='services' name='services'>"); 
       document.writeln("<tr>"); 
       document.writeln("<th> Preview: </th>"); 
       document.writeln("<th> Description: </th>"); 
       document.writeln("<th> Cost: </th>"); 
       document.writeln("</tr>"); 

       var i = 0; 
       //for (i = 0; i < servicePrev.length; i++) 
       { 

        if (i % 2 == 0){ 
         document.writeln("<tr class='even' id='even'>"); 
         } 
        else{ 
         document.writeln("<tr class='odd' id='odd'>"); 
         } 

        //document.writeln("<td> " + servicePrev[i] + " </td>"); 
        //document.writeln("<td> " + serviceDesc[i] + " </td>"); 
        //document.writeln("<td> " + serviceCost[i] + " </td>"); 
        document.writeln("</tr>"); 
       } 
       document.writeln("</table>"); 

</script> 

每當我在屬性中添加src和被註釋掉線,代碼不工作,但是,當我省略src和當前註釋掉的行時,代碼工作正常。即使JSfiddle報告它工作正常。 JS文件的內容是3個有5個索引的數組。

回答

1

http://javascript.crockford.com/script.html

援引腳本標籤有兩個目的:

它確定在頁面腳本塊。它加載一個腳本文件。 它的作用取決於src屬性的存在。在任何一種情況下都需要一個 關閉標籤。

src屬性是可選的。如果它存在,那麼它的值是一個 url,它標識一個.js文件。當瀏覽器讀取,編譯並執行 文件時,頁面的加載和處理暫停。和 之間的內容應該是空白的。

因此,腳本文件應該由專門script標籤沒有加載的內容,腳本內容應該被插入到另一個script標籤,畢竟如果你有其他錯誤,你可以在你的broswer的控制檯檢查

<script src="js/targetJS.js" type="text/javascript"></script> 
<script type="text/javascript"> 
       document.writeln("<table id='services' class='services' name='services'>"); 
       document.writeln("<tr>"); 
       document.writeln("<th> Preview: </th>"); 
       document.writeln("<th> Description: </th>"); 
       document.writeln("<th> Cost: </th>"); 
       document.writeln("</tr>"); 

       var i = 0; 
       //for (i = 0; i < servicePrev.length; i++) 
       { 

        if (i % 2 == 0){ 
         document.writeln("<tr class='even' id='even'>"); 
         } 
        else{ 
         document.writeln("<tr class='odd' id='odd'>"); 
         } 

        //document.writeln("<td> " + servicePrev[i] + " </td>"); 
        //document.writeln("<td> " + serviceDesc[i] + " </td>"); 
        //document.writeln("<td> " + serviceCost[i] + " </td>"); 
        document.writeln("</tr>"); 
       } 
       document.writeln("</table>"); 

</script> 
2

你需要單獨的標籤

<script type="text/javascript" src="awesomescript.js"></script> 

<script> 
    // some awesome code here 
</script> 

由於html5,你可以自由地命名<script type="text/javascript">或只使用<script>的JavaScript,因爲文本/ JavaScript是默認的。

相關問題