⊗jsSpAsnIL 153 of 294 menu

JavaScript-də şəkillerin asinxron yüklənməsi

JavaScript vasitəsilə dinamik yaradılan şəkiller də asinxron şəkildə yüklənir. Nümunə üçün aşağıdakı kodu nəzərdən keçirək:

let image = document.createElement('img'); image.src = 'img.png'; document.body.appendChild(image);

Gördüyünüz kimi, biz burada img teqini yaradırıq, onun src xüsusiyyətinə şəklin yolunu yazırıq və bu şəkli body-də yerləşdiririk. Lakin şəkil səhifədə dərhal peyda olmayacaq. Məsələ ondadır ki, biz src-ə şəklin yolunu yazdıqda - brauzer bu şəkli saytdan yükləməyə başlayır. Şəkil yüklənən kimi, yalnız o zaman brauzer onu göstərə biləcək.

Əgər şəkil kifayət qədər böyükdürsə, və internetin sürəti kifayət qədər aşağıdırsa, istifadəçi müəyyən müddət "boş" şəkilə baxa bilər - şəkil yüklənənə qədər.

Əslində img teqinin load adlı bir hadisəsi var, hansı ki, şəklin yüklənməsi başa çatdıqda işə düşür:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { // şəkil yüklənəndə işləyəcək });

Biz bundan, şəkli səhifədə yalnız o zaman yerləşdirmək üçün istifadə edə bilərik, o şəkil yüklənəndə:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { document.body.appendChild(image); // yükləndikdə yerləşdiririk });

Şəkil mütləq yüklənməyə bilər: ola bilər ki, şəklin yolu səhvdir, və ya internet kəsilib, veb server sıradan çıxıb və ya ona bənzər bir şey ola bilər. Başqa sözlə - istisnai vəziyyət. Bu halda load hadisəsi deyil, error hadisəsi işə düşəcək:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { document.body.appendChild(image); }); image.addEventListener('error', function() { // şəklin yüklənmə xətası });

Bir düymə hazırlayın, hansına kliklədikdə şəkil yüklənsin. Şəkli yükləndiyi zaman göstərin. Şəklin yüklənməsində problem olduqda mesaj çıxarın.

rouzhumsde