从JS代码中包含JS文件的最佳方法是什么?

时间:2008-12-23 07:26:18

标签: javascript

从其他Javascript文件中包含Javascript文件的推荐方法是什么?

6 个答案:

答案 0 :(得分:5)

大多数人将JavaScript文件添加到文档的头部:

<script type="text/javascript">
  var newfile=document.createElement('script');
  newfile.setAttribute("type","text/javascript");
  newfile.setAttribute("src", '/myscript.js');
  document.getElementsByTagName("head")[0].appendChild(newfile);
</script>

答案 1 :(得分:3)

有些图书馆会为你做这件事。您还可以在文档中添加脚本标记,指向要加载的文件(来自js),这是最简单的,但有问题。

http://developer.yahoo.com/yui/yuiloader/

http://www.appelsiini.net/projects/lazyload

编辑:我看到很多答案都会在文档的头部添加一个脚本标记。正如我所说的这个简单的解决方案有一个问题,即您不知道浏览器何时加载了您请求的脚本,因此您不知道何时可以调用此代码。如果你想使用这样的解决方案,你还应该以某种方式添加一个回调来告诉你何时加载了所需的代码。

答案 2 :(得分:2)

jQuery具有getScript()功能。另请注意,上面提到的Lazy Load仅适用于图像。不适用于JavaScript文件。

$.getScript(url, [callback]); 

答案 3 :(得分:0)

这个怎么样:

original link

<script type="text/javascript">
// Function to allow one JavaScript file to be included by another.
// Copyright (C) 2006-08 www.cryer.co.uk
function IncludeJavaScript(jsFile)
{
  document.write('<script type="text/javascript" src="'
    + jsFile + '"></scr' + 'ipt>'); 
}
</script>

然后包含第二个JavaScript文件,只需添加以下行:

IncludeJavaScript('secondJS.js');

来自的页面包含了这种方法产生的一些问题,因此在使用该方法之前值得一看。

答案 4 :(得分:0)

Scriptaculous内置了一个非常容易使用的功能。

Scriptaculous.require("path/to/script.js");

值得知道,因为Scriptaculous是一个非常常见的JavaScript库。

答案 5 :(得分:0)

Dojo使用dojo.require()

dojo.require("your.module.name");

通常这是使用XHR完成的同步操作。但是如果你使用xDomain构建它将是异步的,并且在加载脚本时将引发dojo.addOnLoad()

了解更多信息: