في IE6/7 ، ستعيق JavaScript الصفحة التي تقدم من جانبين:
ستتوقف موارد صفحة الويب ضمن علامة البرنامج النصي عن الطلب والتنزيل قبل تحميل البرنامج النصي.
سيتوقف عنصر HTML تحت علامة البرنامج النصي عن التقديم قبل تحميل البرنامج النصي.
في IE6/7 Firefox2/3 Safari3 Chrome1 و Opera ، ستعيق العلامات السينمائية التنزيل:
على الرغم من أن البرنامج النصي يمكن أن يكون متزامنًا بموجب IE8 و Safari4 و Chrome2 ، إلا أنه لا يزال يعيق تنزيل الموارد الأخرى:
هناك 6 طرق لتنزيل البرنامج النصي بالتوازي مع الموارد الأخرى:
1.xhr eval - تنزيل البرنامج النصي من خلال XHR (كائن XMLHTTPrequest) ، ثم استخدم طريقة EVAL لتنفيذ مسؤولية XHR
2.xHR Injection - قم بتنزيل البرنامج النصي من خلال XHR ، ثم قم بإنشاء علامة نصية وأدخلها في المستند (بوسف الجسم أو رأس) ، ثم قم بتعيين سمة النص لعلامة البرنامج النصي على قيمة XHR لمسؤولات XHR
3.xHr في iframe - ضع علامة البرنامج النصي في iframe وقم بتنزيلها من خلال iframe
4.Script DOM عنصر - قم بإنشاء علامة نصية وأوجه سمة SRC إلى عنوان البرنامج النصي الخاص بك
5.Script تأجيل - أضف السمة المؤجلة لعلامة البرنامج النصي. هذا صحيح فقط في IE ، لكن Firefox3.1 يدعم أيضًا هذه السمة.
6. استخدم طريقة المستند. الكتابة للكتابة <script src = ""> في الصفحة ، وهذا صحيح فقط في IE.
يمكنك عرض أمثلة استخدام كل طريقة من خلال Cuzillion.
إذا كان هناك بعض البرامج النصية المضمنة التي تحتاج إلى تنفيذها بعد تنفيذ البرامج النصية الخارجية ، فيجب أن تتم مزامنتها. تسمى "اقتران" ، اقتران البرامج النصية غير المتزامنة. تقدم هذه المقالة بعض الطرق التي يمكن أن تنفذ حاليًا "اقتران".
Headjs ، يمكن تمكين JS من التنزيل بشكل متزامن (ولكن تنفيذ بالتتابع): http://headjs.com/
نسخة الكود كما يلي:
head.js ("/path/to/jquery.js" ، "/google/analytics.js" ، "/js/site.js" ، function () {
// كل ذلك
}) ؛
// أبسط الحالة. تحميل وتنفيذ البرنامج النصي المفرد دون حظر.
head.js ("/path/to/file.js") ؛
// قم بتحميل برنامج نصي وقم بتنفيذ وظيفة بعد تحميله
head.js ("/path/to/file.js" ، function () {
}) ؛
// تحميل الملفات بالتوازي ولكن قم بتنفيذها بالتسلسل
head.js ("file1.js" ، "file2.js" ، ... "fileN.JS") ؛
// تنفيذ الوظيفة بعد تحميل جميع البرامج النصية
head.js ("file1.js" ، "file2.js" ، function () {
}) ؛
// يتم تحميل الملفات بالتوازي وتنفيذها من أجل وصولها
head.js ("file1.js") ؛
head.js ("file2.js") ؛
head.js ("file3.js") ؛
// يمكن أيضًا كتابة السابقة كـ
head.js ("file1.js"). js ("file1.js"). js ("file3.js") ؛