2013-04-12 16 views
8

Próbuję zrozumieć cykl życia strony HTML. Nie mogę znaleźć żadnych dobrych zasobów w Internecie. Więc otworzyłem narzędzie f12 w ie i zrobiłem kilka eksperymentów na własną rękę. Na tej podstawie wyciągnąłem wnioski, czy ktoś może mi powiedzieć, czy mam rację?Strona HTML Cykl życia strony

Moja obserwacja

1> Gdy strona jest wymagany przez HTTP pierwszy szkielet HTML jest odbierany przez przeglądarkę. W tej chwili nic nie jest wyświetlane użytkownikowi.

2> W oparciu o to, co jest w szkielecie HTML kilka dodatkowych żądań wysyłanych na zewnątrz do zasobów (zewnętrzne JavaScript, CSS, obrazów etc)

3> Przeglądarka czeka, aż otrzyma kod stanu HTTP skrypt i zasoby css.

4> Po otrzymaniu kodu statusu HTTP dla css i JavaScript, tylko wtedy przeglądarka rozpoczyna ładowanie dokumentu od góry do dołu, wykonując dowolny wbudowany skrypt JavaScript napotkany po drodze.

5> Jeśli osadzony JavaScript na górze odnosi się do elementu HTML na dole, JavaScript nie powiedzie się.

6> Po zakończeniu ładowania całego dokumentu, zdarzenie jquery $ (document) .ready jest wyrzucane. (To znaczy, jeśli używam JQuery)

7> Przeglądarka nie czeka na zasoby inne niż skrypty i css, więc zasoby takie jak obrazy mogą zostać załadowane później po wyświetleniu strony użytkownikowi.

+3

jQuery! = JavaScript! = HTML. To trzeba było powiedzieć raz. –

+0

Naprawiono, dodając tekst "(To znaczy, jeśli używam JQuery)" na pytanie. – Foo

+2

Jedna ważna uwaga/korekta: to tylko tagi JavaScript, które blokują renderowanie strony. Dlatego deweloperzy front-end pokażą ci swoje referencje do Javascriptu na dole strony, tuż przed zamknięciem znacznika * body *. – McGarnagle

Odpowiedz

2

Prawie wszystko jest w porządku. Ale to zależy od kodu (w szczególności pkt 5, 6 i 7). Na przykład, jeśli JS na górze jest w zakresie $(document).ready, to nie zawiedzie.

Po drugie, wolę Firefox F12 lub Chrome F12 od IE. Są bardzo szczegółowe i przyjazne dla programistów. Zobacz zakładkę NET, aby zrozumieć dalej. Pokaże ci dokładną kolejność wczytywania i ładowania zasobów, czego właśnie szukałeś.

Powiązane problemy