文檔對象模型(DOM)允許你使用JavaScript 動態(tài)創(chuàng)建HTML的幾乎全部文檔內容。其根本在于降瞳,<script>元素與頁面其他元素沒有什么不同:引用變量可以通過DOM進行檢索嘱支,可以從文檔中移動、刪除挣饥,也可以被創(chuàng)建.
----( 摘自高性能Javascript )
一除师、單個script添加
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "file1.js";
document.getElementsByTagName_r("head")[0].appendChild(script);
//這種方法僅適用于單個的script標簽
二,多個script添加(動態(tài)添加)
//定義添加方法扔枫,
// urls----script.src地址數(shù)組汛聚、callback---回調函數(shù)
function loadScripts(urls, callback) {
callback = callback || function () { };
//添加script屬性,并添加到head中
var loader = function (src, handler) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
//重點6碳觥R幸ā!忍宋!script加載成功
script.onload = function () {
script.onload = null;
script.onerror = null;
handler();
};
script.onerror = function () {
script.onload = null;
script.onerror = null;
callback({
message: src + '依賴未加載成功痕貌!'
});
};
var head = document.getElementsByTagName('head')[0];
(head || document.body).appendChild(script);
};
//自執(zhí)行函數(shù),用于循環(huán)loader
(function run() {
if (urls.length > 0) {
loader(urls.shift(), run);
} else {
callback();
}
})();
console.log(document.head)
}
var relies = ['file:///C:/c.js', 'file:///C:/b.js']
loadScripts(relies, function cb(err) {
if (err) {
return console.log(err.message);
}
})