js中如何同步引入另外js文件

最近需要做个项目,有个要求就是html中只能引入一个JS文件,而我有两个JS文件

比如 a.js文件和b.js文件

现在只能在b.js文件中引入a.js文件

首先我是这么写的

[code lang=”js”]document.write("<script type=\"text/javascript\" src=\"http://a.js\"></script>");
[/code]

这样做法文件确实是引入了,但是有个问题就是这样的引入方法是异步的,假如b.js 需要执行a.js中的函数,而a.js还没加载进来这样会有报错。后来想到 script 的onload 加载完成之后才去执行函数。代码改成这样

[code lang=”js”]
function GetJsFile(file){
var head= document.getElementsByTagName(‘head’)[0];
var script= document.createElement(‘script’);
script.type= ‘text/javascript’;
script.onload = script.onreadystatechange = function() {
if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") {

script.onload = script.onreadystatechange = null;
}
};
script.src = file;
head.appendChild(script);
}
[/code]

使用方法

[code lang=”js”]
var file = http://xxxx.js;
GetJsFile(file);
[/code]

此条目发表在笔记分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注