[HTML/JS] Heeft het defer attribuut wel echt nut?

Pagina: 1
Acties:

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 31-12-2025
Het defer attribuut in een script tag zou het renderen van een pagina versnellen. Het attribuut vertelt de browser dat het script geen content in het document genereert (met document.write in Javascript als bekendste voorbeeld) zodat de browser de rest van de code al verder kan renderen.

Maar versnelt defer echt nog altijd het renderen van de code of is het ondertussen al hopeloos verouderd? Google levert geen nuttige info op en op GoT vond ik alleen een erg oud bericht waarin staat dat men geen echte benchmarks of andere resultaten over het nut van dit attribuut kent.

  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Ik denk dat de hoeveelheid javascript dat zich niet met de presentatie van de pagina bezighoud zeer klein is en dat defer daarom vrij nutteloos is.

  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Volgens mij is de defer tag ook niet goed geimplementeerd in alle browsers en is het gedrag dus redelijk onvoorspelbaar.

Verder kan ik mij er ook niet veel bij voorstellen: als het een script is wat niets aan de DOM veranderd, wat kan dat dan zijn? Een zware berekening of een hoop functies?

[ Voor 43% gewijzigd door André op 07-05-2006 20:25 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

IE is de enige browser die iets doet met het defer attribuut en parsed scripts voorzien van dat attribuut ook daadwerkelijk pas na het inladen en parsen van de rest.
Note dat de behavior van dit attribuut ook niet gedefinieerd is; de specificatie zegt zelf dat het een hint is voor de useragent maar schrijft niet voor wat de useragent daar precies mee zou moeten doen. Het negeren van dit attribuut is dus net zozeer conform de specificaties als er wel iets mee doen ;)

Dean Edwards heeft dit attribuut overigens gebruikt om in IE het window.onload probleem aan te pakken (bij gebrek aan een DOMContentLoaded event) (zelf heb ik betere ervaringen met onreadystatechange hetgeen ook minder leunt op specifieke implementatie-eigenschappen).

[ Voor 29% gewijzigd door crisp op 07-05-2006 22:39 ]

Intentionally left blank