wtorek, 17 lipca 2012

ladowanie elementow po zaladowaniu strony

Nie wszystkie elementy strony powinny pojawic sie w tym samym momencie. Jedne sa wazniejsze, jak na przyklad menu, tresc strony itp, a inne mniej wazne - np reklamy, dodatkowe integracje. Co wiecej, dodatkowe elementy najczesciej nie powinny byc widziane przez googla. Tak wiec upieczemy 2 pieczenie przy jednym ogniu.

W firmie w ktorej pracuje uzywamy albo vanilla JS albo jQuery. jQuery nie oferuje obslugi zdarzenia onLoad. jQuery.ready() jest PRAWIE tym o co nam chodzi, ale nie do konca. Jesli rzucimy okiem na zakladke 'net' w firebugu, to dosc wyraznie widac, ze dzialania wykonywane w ramach tej metody sa zaczynane jeszcze w trakcie ladowania strony. A nie o to nam chodzi.

Tak wiec skorzystamy z vanilla JavaScript:

if (window.attachEvent) {window.attachEvent('onload', myFoo);}
else {window.addEventListener('load', myFoo, false);}


Innymi slowy pod event onLoad podpinamy wykonanie funkcji myFoo. Funkcja oczywiscie musi byc zdefiniowana (najlepiej przed zaprezentowanym powyzej kodem).

Brak komentarzy:

Prześlij komentarz