Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript加载其他外部Java脚本_Javascript - Fatal编程技术网

使用Javascript加载其他外部Java脚本

使用Javascript加载其他外部Java脚本,javascript,Javascript,我有一个从文件夹加载的JS代码库。 与在HTML文档的标记中逐个键入行不同,有没有一种方法可以链接一个Javascript文件来组织并自动加载其他Javascript文件 我知道Dojotoolkit正在使用这种技术,在客户端的计算机上只加载一个JS文件,一旦在浏览器中请求了代码,就会生成另外20个JS代码,每个代码都带有标记。一种简单的方法: document.write("<script type='text/javascript' src='b.js'></script&

我有一个从文件夹加载的JS代码库。 与在HTML文档的标记中逐个键入
行不同,有没有一种方法可以链接一个Javascript文件来组织并自动加载其他Javascript文件


我知道Dojotoolkit正在使用这种技术,在客户端的计算机上只加载一个JS文件,一旦在浏览器中请求了代码,就会生成另外20个JS代码,每个代码都带有
标记。

一种简单的方法:

document.write("<script type='text/javascript' src='b.js'></script>"); 
document.write(“”);

这是您需要的代码:

    // Create
    var bodyEl = document.body;
    var scriptEl = document.createElement('script');
    scriptEl.type = 'text/javascript';
    scriptEl.src = url;
    bodyEl.appendChild(scriptEl);
将其放入一个函数中,拥有一个包含所有javascript文件的数组,并为每个文件调用该函数

使用DOM的好处是document.write在某些有趣的情况下不起作用。更多信息请点击此处:

来自开源项目jQuery Sparkle的代码:

试试使用requireJs,他有非常有用的功能


Google for LabJS和RequireJS.duplicate:不重复,其他问题是原型框架。这是针对普通javascript的。通常强烈反对使用
document.write
。在文档中添加
标记也可以达到同样的效果。虽然有效,但我喜欢它的简单性和低字符消耗。
文档。write
并不受欢迎。在HTML5规范中有一个开始:另外,向文档添加
元素并没有相同的效果:使用
document.write
是同步的(包括HTML中的
元素),而使用DOM方法添加
元素是异步的。同步方法有很多优点,例如可以保证在文档中出现在它后面的脚本之前加载。不必设置“type”属性。@虽然没有它也可以工作,但它仍然是一个必需的属性:大多数当代Javascript专家(尤其是Doug Crockford)鼓励省略属性,在HTML5中显然不需要它。此外,在构建DOM节点时,HTML规范是不相关的。这会牺牲加载时间吗?使用prototype更快吗?@Pointy:我很想读一下Doug在这个话题上说了些什么,因为为了完整性,我总是包含
type
属性。