包括一个js文件

问题描述:

HI外部JS文件,包括一个js文件

我有一个JavaScript库之上有a.js,b.js,c.js文件....我的逻辑是d.js ...我如何参考d.js中的a.js,b.js,c.js文件?

是否可以参考?

我尝试使用

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

<script type="text/javascript" src="a.js"></script>

我得到的错误,告诉没有定义的变量和函数(它们在外部JavaScript文件)没有定义

谢谢:)

+2

没有足够的信息。并请写出正常的英语。这不是一项短信服务。 'document.write'应该可以工作,但是你必须转义结束标签:'' – mplungjan 2011-03-08 09:17:23

你可以动态加载Javascript文件。这是一个很好的链接。 http://ntt.cc/2008/02/10/4-ways-to-dynamically-load-external-javascriptwith-source.html

但是我发现更有用的是使用PHP来呈现我的JavaScript,并在我的PHP追加所需的相关页面的所有JavaScript。

是的,它有可能通过使用DOM将js文件添加到文档头部来完成。

var headID = document.getElementsByTagName("head")[0]; 
    var newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    newScript.language="Javascript"; 
    newScript.charset="ISO-8859-1"; 
    newScript.src = 'yourfile.js'; 

headID.appendChild(newScript);

当然,您必须告诉您当前的JS文件,您添加的文件已经加载。我这样做是通过在当前JS文件中声明一个JS函数,然后在已经动态加载的JS文件的末尾调用它。

+0

问题是,你应该停止d.js中的代码执行,直到加载了a.js,b.js和c.js。 – Bart 2011-03-08 09:26:00

+0

我已经用一种方式更新了答案,告诉脚本新的脚本已经加载 – Vinnyq12 2011-03-08 09:27:40

+0

为什么不使用已经在不同浏览器上测试过的脚本加载器,并且具有您描述的那些功能。 – 2011-03-08 09:29:07

试试这个js loader http://www.dustindiaz.com/scriptjs/我觉得非常方便。 它具有管理依赖关系的功能,因此您可以为订单脚本加载规则。

我会建议合并所有需要的文件到一个lib.js文件。另外,以不引起问题,未定义的变量,这也减少了从4

的HTTP请求到1尝试使用closure compiler你的代码合并到一个单一的文件。