Javascript 在<;的src属性中使用通配符;脚本>;标签?

Javascript 在<;的src属性中使用通配符;脚本>;标签?,javascript,html,wildcard,script-tag,Javascript,Html,Wildcard,Script Tag,好吧,愚蠢的问题,我不认为这是可能的,但是,我在我的.aspx页面顶部有这个标记 <%--Third Party Libraries, Plugins, Extensions --%> <script src="Libraries/Raphael/Raphael.js" type="text/javascript"></script> <script src="AutoComplete/jquery.autocomplete.js" type="text

好吧,愚蠢的问题,我不认为这是可能的,但是,我在我的.aspx页面顶部有这个标记

<%--Third Party Libraries, Plugins, Extensions --%>
<script src="Libraries/Raphael/Raphael.js" type="text/javascript"></script>
<script src="AutoComplete/jquery.autocomplete.js" type="text/javascript"></script>    
<script src="Libraries/jQuery/1.4.2/jquery.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.core.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.widget.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.droppable.js" type="text/javascript"></script>    

如果我能把它换成这个不是很好吗

<%--Third Party Libraries, Plugins, Extensions --%>
<script src="Libraries/Raphael/Raphael.js" type="text/javascript"></script>
<script src="AutoComplete/jquery.autocomplete.js" type="text/javascript"></script>    
<script src="Libraries/jQuery/1.4.2/jquery.js" type="text/javascript"></script>
<script src="Libraries/jQuery/UI/1.8.4/jquery.ui.*.js" type="text/javascript"></script>

ie使用
*
作为通配符

显然,由于这是JS,我可以将所有这些脚本放到一个大脚本中并加载它,但我真的不喜欢这样做


还有人有整理大量脚本引用的技巧吗?还是我们就这样生活

据我所知,这是不可能的,因为浏览器需要确切地知道要请求哪些文件

浏览器基本上必须用希望得到幸运的请求来强制服务器

我建议使用Google的闭包编译器将所有类似(如果不是全部的话)javascript文件合并到一个文件中。它会稍微大一点,但会减少http请求

通过一些评测,您可以在最常用的文件和速度之间找到平衡

更新(来自评论)


我通常不愿意提供添加一个新的javascript库来解决太多javascript库的问题:)而且这似乎是一个更直接的解决方案。目前,我们使用GoogleClosureAPI压缩和合并所有javascript和CSS,并使用ANT构建时间。他很有魅力。在某种程度上,这也可以通过apache2虚拟主机/htaccess(参见html5boilerplate.com)直接实现。有关示例和限制,您可以将所有jquery.ui.*文件的内容复制到一个文件中。作为一个额外的好处,你的页面加载速度会稍微快一些。

不,不是你想的那样。如果您使用JavaScript加载程序(例如,或),您可以做类似的事情,因为您可以将每个文件压缩成一个数组并循环遍历它们,或者,如果您有雄心壮志,可以在前端和后端之间编写一些协议来支持这一点

尽管如此,这并不推荐,因为它不容易维护。如果您在将文件合并成单个文件时遇到的问题是您的努力,那么JS迷你程序(例如or)可能会解决您的问题

ie使用*作为通配符

不,除非你想配置你的服务器,通过一个脚本传递一个包含
*
字符的URL,这个脚本可以解析这个URL并在运行中打包所有的JS

显然,由于这是JS,我可以将所有这些脚本放到一个大脚本中并加载它,但我真的不喜欢这样做


这是一个很好的解决办法。通常情况下,您希望将此作为站点构建脚本的一部分来执行,并同时调用minifier。

实际上,正如其他人可能提到的,您可以在其中添加自己的脚本文件,并执行类似于将路径添加到数组中的操作,循环调用每个项

$.getScript('ajax/test.js', function() {
    alert('Load was performed.');
});
我将省略
type=“text/javascript”


但是我仍然认为合并src是不可能的(对于HTML5和CSS3来说)

合并它们将是一种解决方案(并且非常常见(如果您需要它们的话))。通配符是不可能的。好吧,谁是没有评论就投否决票的小丑??展示你自己!!我正在工作的项目有大量的脚本引用。我正在使用Google Closure编译器和Ant XML来创建一个简化的压缩JavaScript文件。谢谢,我确实在问题中提到了这一点:)+1是的,这样想很好。我想浏览器希望每个请求返回一个文件。我想也许服务器可以找到所有匹配的文件并将它们连接到一个响应中。当然不是除非你使用@David's method如果你需要包含大量的js文件,那么回答很好。例如,如果你有一个AngularJS应用程序或自定义库:创建一个加载程序脚本,将其添加到底部,然后使用getScrpt jQuery方法进行加载。结果是更干净的代码!