2011-06-16 156 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) 
}; 
相关问题