2008-12-23 68 views

回答

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'); 

从来到该页面包含的一些陷阱这是由这种方法引起的,所以在使用该方法之前值得一看。

+0

如果您在文档加载之后使用该文件,您会惊讶,因为document.write将替换您的活动文档。 – some 2008-12-23 08:23:54

+0

另外,不需要将结束标记分为两部分。由于根据(x)HTML DTD的脚本标签中的所有内容都是PCDATA(已解析的字符数据),所以您必须转义结束标记” – some 2008-12-23 08:30:56

+0

应该是DOM组装,这使得第二个点未尝试 – annakata 2008-12-23 08:45:21

3

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

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

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

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

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> 
0

也Theres建成Scriptaculous的功能,这是非常容易使用。

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

值得了解,因为Scriptaculous是最近很常见的JavaScript库。

2

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

$.getScript(url, [callback]); 
相关问题