Pytania dotyczące metody document.write
Eksperymentuję z metodą zapisu i zdarzeniem onload. Oto mój kod:
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="document.write('body loaded!')">
<h1>Hello World!</h1>
<img onload="document.write('img loadeld!')" src="smiley.gif" alt="Smiley face" width="42" height="42" />
</body>
</html>
Jeśli uruchomię to w przeglądarce, wyświetla „img loadeld” i po prostu „zawiesza się”, wydaje się, że strona ładuje się nieskończenie. Spodziewałem się, że przeglądarka wyświetli „img loadeld”, a następnie jako element ciała będzie gotowy „załadowany do ciała” i po prostu zatrzyma się tak jak zwykle.
Moje pytania:
Dlaczego jest taki powiesić? Dlaczego zdarzenie onload na elemencie img blokuje kontynuowanie i renderowanie przeglądarki „załadowane ciało”?Dlaczego, jeśli usunę program obsługi onload z elementu img, odpowiedź jest zgodna z oczekiwaniami - „ciało załadowane” i strona nie jest zablokowana.