من الطبيعي أن يحصل تطوير الويب على عرض وارتفاع الصورة. لا يمكن للصورة الحصول على عرض وارتفاع الصورة قبل التحميل. فقط بعد التحميل يمكن اكتمال الصورة ، يمكن الحصول على عرض وارتفاع الصورة نفسها. على سبيل المثال:
نسخة الكود كما يلي:
var img = new image () ؛
img.src = "loading.gif" ؛
img.onload = function () {
تنبيه (img.width) ؛
} ؛
نعم؟ يبدو أن هذا الرمز على ما يرام ، ولكن سيكون هناك خطأ في IE ، أي ، لا توجد مشكلة عندما يتم فتح IE لأول مرة ، وستكون مأساة عند استخدام هذه الطريقة في المرة الثانية. IE ليس له أي رد ، وسيكون هو نفسه حتى لو تم تحديث الصفحة. نظرًا لأن IE سوف تقوم بتخزين الصور ، فإن الصورة المحملة الثانية لم يتم تحميلها من الخادم ، ولكن يتم تحميلها من المخزن المؤقت.
اكتب أولاً طريقة Onload ، ثم حدد عنوان URL لهذه الصورة ، وهو أمر طبيعي. لذلك ، ليس الأمر أن IE لم تؤد إلى حدث Onload ، ولكن نظرًا لأن المخزن المؤقت يتم تحميله بسرعة بحيث تم بالفعل إطلاق حدث Onload عند عدم تشغيل img.onload. وهذا موافق.
نسخة الكود كما يلي:
var img = new image () ؛
img.onload = function () {
تنبيه (img.width) ؛
} ؛
img.src = "loading.gif" ؛