Memuat file JS sendiri, mendukung banyak file, tidak sesuai dengan IE
Salinan kode adalah sebagai berikut:
/**
* Memuat file JS
* @param {string || array} url js path
* @param {function} fn callback setelah memuat
* @return {objek} objek game
* @contoh
* getscript ("url.js", fn)
* getscript (["url-1.js", "url-2.js"], fn)
*/
game.getScript = (function () {
var cache = {}; // URL di -cache secara internal, dan tidak diperlukan permintaan lain kali
fungsi pengembalian (url, fn) {
if ("string" === typeof (url)) {
url = [url]; // Jika bukan array, bawa satu set
};
var i = 0, // ubah
Ok = 0, // berapa banyak js dimuat dengan sukses
len = url.length, // berapa banyak js yang ada
head = document.geteLementsbyTagname ("head") [0],
JS, _URL,
create = function (url) {// buat js
js = document.createelement ("skrip");
js.type = "Teks/JavaScript";
js.src = url;
head.AppendChild (JS);
mengembalikan JS;
};
untuk (; i <len;) {
if (cache [encodeuricomponent ((_ url = url [i ++]))]) {// jika dimuat
(++ ok> = len && fn) && fn (); // Jika semua js dimuat, jalankan panggilan balik
melanjutkan;
}
cache [encodeuricomponent (_url)] =! 0; // Setel cache
js = create (_url); // buat js
fn && (js.onload = function () {
if (++ ok> = len) {// Jika semua js dimuat, jalankan panggilan balik
fn ();
}
});
};
head = js = _url = create = null;
kembalikan ini;
}
}) ();