MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

This translation is incomplete. Please help translate this article from English.

Tradicionalment en els navegadors, el analitzador sintàctic d'HTML s'executa en el fil principal i s'ha bloquejat després d'una etiqueta </script> fins que l'script s'ha recuperat de la xarxa i s'executat. El analitzador sintàctic d'HTML en Firefox 4 i versions posteriors dóna suport a l'anàlisi especulativa fora del fil principal. A continuació s'analitza mentre que els scripts estan sent descarregats i s'executen. Com en Firefox 3.5 i 3.6, l'analitzador sintàctic d'HTML comença càrregues especulatives per als scripts, fulles d'estil i imatges que troba per davant en la seqüència. No obstant això, en Firefox 4 i posterior l'analitzador sintàctic d'HTML també executa l'algorisme de construcció de l'arbre HTML especulativament. L'avantatge és que quan una especulació èxit, no hi ha necessitat de reanàlisi de la part de l'arxiu d'entrada ja que va ser analitzat a la recerca de scripts, fulls d'estil i imatges. L'inconvenient és que hi ha més feina perduda quan l'especulació falla.

Aquest document pot ajudar evitar que aquest tipus de coses que fan que l'especulació falli i alenteixen la càrrega de la pàgina.

Fent càrregues especulatives successives

Només hi ha una regla per fer càrregues especulatives de scripts vinculats, fulls d'estil i imatges successives:

  • Si s'utilitza un element <base> per anul·lar l'URI base de la pàgina, posar l'element de la part non-scripted del document. No ho afegiu a través de document.write() or document.createElement().

Evitant perdre la sortida del constructor d'arbre

El constructor d'arbre especulatiu falla quan document.write() canvia l'estat del constructor d'arbre, de tal manera que l'estat especulatiu després de la etiqueta </script>  ja no se sosté quan ha estat analitzat tot el contingut inserit per document.write(). No obstant això, només els usos inusuals de document.write() causen problemes. Aquestes són les coses que cal evitar:

  • No escriviu arbres desequilibrats. <script>document.write("<div>");</script> és incorrecta. <script>document.write("<div></div>");</script> està bé.
  • No escriviu un símbol sense acabar. <script>document.write("<div></div");</script> is incorrecta.
  • No acabeu un escrit amb un retorn de carro. <script>document.write("Hello World!\r");</script> és incorrecta <script>document.write("Hello World!\n");</script> està bé.
  • Noteu que l'escriptura d'etiquetes equilibrades pot fer que altres etiquetes poguin inferir d'una manera que fa que l'escriptura sigui desequilibrada. Per exemple <script>document.write("<div></div>");</script> dins de l'element head s'interpreta com <script>document.write("</head><body><div></div>");</script> el qual està desequilibrat.
  • No doneu format part d'una taula<table><script>document.write("<tr><td>Hello World!</td></tr>");</script></table> és incorrecta. However, <script>document.write("<table><tr><td>Hello World!</td></tr></table>");</script> està bé.
  • TODO: document.write dins d'altres elements de format..

Document Tags and Contributors

 Contributors to this page: Legioinvicta
 Last updated by: Legioinvicta,