تحميل ملفات JS بنفسك ، يدعم ملفات متعددة ، لا يتوافق مع IE
نسخة الكود كما يلي:
/**
* تحميل ملف JS
* param {string || Array} url js path
* param {function} fn callback بعد التحميل
* كائن اللعبة {كائن}
* @مثال
* getScript ("url.js" ، fn)
* getScript (["url-1.js" ، "url-2.js"] ، fn)
*/
game.getScript = (function () {
var cache = {} ؛ // يتم تخزين عنوان URL داخليًا ، ولا يوجد طلب مطلوب في المرة القادمة
وظيفة الإرجاع (url ، fn) {
if ("string" === typeof (url)) {
url = [url] ؛ // إذا لم تكن صفيفًا ، أحضر مجموعة
} ؛
var i = 0 ، // change
موافق = 0 ، // كم عدد JS يتم تحميله بنجاح
len = url.length ، // كم عدد JS في المجموع
Head = document.getElementsByTagname ("Head") [0] ،
JS ، _url ،
إنشاء = دالة (url) {// إنشاء JS
JS = document.createElement ("Script") ؛
JS.Type = "Text/JavaScript" ؛
JS.SRC = url ؛
Head.AppendChild (JS) ؛
إرجاع JS ؛
} ؛
لـ (؛ i <len ؛) {
if (ذاكرة التخزين المؤقت [encodeUricomponent ((_ url = url [i ++]))])) {// إذا تم تحميلها
(++ موافق> = len && fn) && fn () ؛ // إذا تم تحميل جميع JS ، قم بتنفيذ رد الاتصال
يكمل؛
}
ذاكرة التخزين المؤقت [EncodeUricomponent (_url)] =! 0 ؛ // تعيين ذاكرة التخزين المؤقت
JS = إنشاء (_url) ؛ // إنشاء JS
fn && (JS.Onload = function () {
إذا (++ OK> = LEN) {// إذا تم تحميل جميع JS ، قم بتنفيذ رد الاتصال
fn () ؛
}
}) ؛
} ؛
HEAD = JS = _url = create = null ؛
إرجاع هذا ؛
}
}) () ؛