script defer=”defer”

Danes na siolu (mogoče še kje drugje) ne dela ni delal Google. Kar je precej annoying, pa ne samo zato, ker sem ga pač navajen uporabljati za vse kar iščem, ampak tudi zato, ker si je hobotnica razpredla svoje lovke na večino strani, ki jih gledam (ravnokar sem ugotovil kako strašljivo je to, ampak to je zgodba za drugič). Odpiram strani in večino časa v statusu gledam “Connecting to …google…” (napolni pikice z analytics, syndication,…).

Da preidem k smislu tegale pisanja – zaradi zgornjih težav sem se spomnil, da za script tag obstaja atribut defer=”defer”, ki naj bi browserju povedal da ni nič katastrofalnega če kakega javascripta ne naloži. Uradno to pomeni, da javascript nima veze z layoutom in da naj se rendriranje nadaljuje. Ja, zadeva je dejansko XHTML 1.0 Strict compliant, je pa res, da dela samo v IE. Kar je žalostno (ne vem a je bolj žalostno to, da je zadevo izumil MS ali to, da je v standardu in ni podprta).

Kakorkoli že, v IE se mi web.zen.si (ki vsebuje link na Google Analytics) odpre takoj. Sicer spodaj piše, da čaka na Google ampak vseeno lahko berem vsebino (Safari in Mozilla čakata). Težava pa nastane, ker je naslednji script tag odvisen od Googlove skripte. In izkaže se, da defer=”defer” pomeni tudi “ignoriraj vrstni red script tagov”. Z malo skripto se zadevo lahko obide – s tem dobimo nekaj milisekund boljši čas odpiranja strani. Zanima pa me kaj se zgodi na drugih brskalnikih, če naletijo na javascript, ki timeouta…