2011-06-16 94 views
1

我有很多js文件(分爲set1和set2),它們在多個HTML和aspx頁面中重複使用。 2010年使用VS如何在HTML頁面中加載多個JavaScript文件

我試圖在page1.html

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

set1.js有頭:

/// < reference path="test11.js" /> 
/// < reference path="test12.js" /> 

所有的JS文件是在VS解決方案的腳本文件夾中。

page1.html會加載test11.js和test12.js。它似乎沒有發生,我得到的功能(JavaScript函數,我使用按鈕事件等)未定義的錯誤,而頁面加載。

什麼是正確的做法?什麼是參考標籤?

+0

你怎麼看test11.js和test12.js實際上是裝的? – 2011-06-16 11:35:02

+0

@marcel,因爲我在頁面加載時未定義js函數的異常。 – 2011-06-16 11:50:18

+0

在這種情況下,它們被* not *加載。 – 2011-06-17 09:27:42

回答

1

引用標籤僅用於Intellisense完成(這是一個註釋,所以JS忽略這些行)。

您必須爲要包含的每個腳本文件使用<script>標記。

1

把你的所有腳本引用在母版頁頭部分 - 更容易管理

<head> 
    <script type="text/javascript" src="x1.js"></script> 
    <script type="text/javascript" src="x2.js"></script> 
    ... 
</head> 
+0

因此,如果我在5-6頁中使用同一組腳本set1,那麼每當我需要添加或刪除js文件時,我都必須在所有5-6頁中進行更改。沒有一個間接解決方案,所以我只在1個文件(如set1.js)中進行更改,以便於維護。如果沒有任何解決方案,那麼我會繼續與你簽署。 – 2011-06-16 11:49:05

+0

這就是masterpage的用途 - 創建一個masterpage並使所有的aspx頁面使用masterpage,然後你有一個單一的變化點。 Google asp.net masterpage中有關如何執行此操作的示例。 – Nathan 2011-06-16 11:57:51

2

你必須在html <head>

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

使用<script>標籤包括腳本如果你想動態地使用JavaScript和jQuery來做到這一點,你可以使用下面的例子假設你有一系列你想包括的JavaScript文件:

例1使用jQuery和javascript:

for (var i = 0; i < scripts.length; i++) 
{ 
    $head.append("<script src=\"" + scripts[i] + "\" type=\"text/javascript\"></script>") 
}; 

例2:使用只有JavaScript沒有jQuery的:

for (var i = 0; i < scripts.length; i++) 
{ 
    var scriptElem=document.createElement('script') 
    scriptElem.setAttribute("type","text/javascript") 
    scriptElem.setAttribute("src", scripts[i]) 
    document.getElementsByTagName("head")[0].appendChild(scriptElem) 
}; 
相關問題