是否可以包含javascripts文件的文件夹而不是逐个添加?
这样的事情:
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/?.js></script>
而不是:
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery-1.5.1.min.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.localscroll-1.2.7-min.js") %>'></s
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.scrollTo-1.4.2.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.simplemodal.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery-ui-1.8.11.custom.min.js") %>'></sc
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.noselect.min.js") %>'></script>
答案 0 :(得分:2)
对于我以前的项目,我们为此创建了一个自定义 HttpHandler 。读出文件夹的内容并注入它。由于必须对脚本进行排序以进行正确注入的限制,我们稍后通过在web.config中创建自定义部分来改进它。它们保持了如何注入脚本的正确顺序。
另一种解决方案是最小化脚本并将它们放入一个文件中。请务必阅读这篇文章:Automatically minify and combine JavaScript in Visual Studio。
答案 1 :(得分:1)
简单方法:
<asp:Repeater ID="scriptsToInclude" runat="server"><ItemTemplate>
<script language="javascript" type="text/javascript" src='<%# Page.ResolveUrl("~/Scripts/" + Container.DataItem + ".js") %>'></script>
</ItemTemplate></asp:Repeater>
在代码背后:
protected void Page_Load(..) {
scriptsToInclude.DataSource = new [] { "jquery-1.5.1.min", "jquery.localscroll-1.2.7-min", "jquery.simplemodal", ... };
scriptsToInclude.DataBind();
}
有个主意吗?
答案 2 :(得分:0)
不,因为您的浏览器不知道该文件夹的内容。如果您的浏览器知道内容,那将非常危险。
这只能通过帮助程序实现。
答案 3 :(得分:0)
这是不可能的,但是很容易将.js文件的文件夹编译成一个(可能是缩小的)文件。
事实上,它非常简单,您可以将其自动化并将其转换为构建过程的一部分。大多数人这样做。
这项工作的最佳工具之一是Google Closure compiler。
答案 4 :(得分:0)
您可以创建一个主文件和 包含所有 JavaScript 文件 到这个文件。然后添加这个 文件到页面
答案 5 :(得分:0)
您应该尝试使用Chirpy。它是一个Visual Studio插件,非常适合将所有Javascript文件合并到一个文件中,然后将其发送到服务器。它不仅可以节省添加每个文件的麻烦,而且还只需要一个HTTP请求来获取所有Javascript。适用于CSS:)