![](/img/trans.png)
[英]how to include other javascript files in content js file of chrome extension?
[英]Include multiple javascript files in a JS file
所以,如果我必须在.js文件中包含一个Javascript文件,我会使用下面的脚本。 它工作正常。
var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
script.onload = function() {
//Some code
};
document.getElementsByTagName("head")[0].appendChild(script);
我该怎么办如果我需要包含多个文件。
你可以创建一个函数并传递你想要包含的js文件,如下所示:
function scriptLoader(path, callback) { var script = document.createElement('script'); script.type = "text/javascript"; script.async = true; script.src = path; script.onload = function(){ if(typeof(callback) == "function") { callback(); } } try { var scriptOne = document.getElementsByTagName('script')[0]; scriptOne.parentNode.insertBefore(script, scriptOne); } catch(e) { document.getElementsByTagName("head")[0].appendChild(script); } }
并称之为:
scriptLoader('/path/to/file.js');
你可以用类似的方式调用你喜欢的JS文件:
scriptLoader('/path/to/file2.js');
scriptLoader('/path/to/file3.js');
甚至使用像这样的onload回调函数:
scriptLoader('/path/to/file6.js',function(){
alert('file6 loaded');
});
我想你会做同样的事情,但只需将var script
的变量名称更改为var scriptA
然后更改var scriptA
的代码,以匹配script.src =
to scriptA.src =
此函数将加载一个或多个脚本,传递单个文件或多个数组:
function include(src, cb) {
arr = (src instanceof Array) ? src : [{
'src': src,
'cb': cb
}];
arr.forEach(function(item) {
_include(item.src, item.cb);
})
function _include(src, cb) {
var script = document.createElement("SCRIPT");
script.src = src;
script.async = true;
script.type = 'text/javascript';
script.onload = function() {
if (cb) cb()
}
document.getElementsByTagName("head")[0].appendChild(script);
}
}
include("/js/file1.js");
include("/js/file1.js", function(){console.log("file1 loaded")});
include([{src:"/js/file1.js"},{src:"/js/file2.js"},{src:"/js/file3.js"}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.