molily: Paralleler Scriptdownload, spekulatives Parsing

Beitrag lesen

laut PageSpeed, YSlow & Co. blockiert ein Scriptrequest ja das komplette weitere Parsen des DOM (muss er ja quasi auch, solange document.write erlaubt ist) - also käme der Browser während des Ladens und Ausführens des ersten Script noch gar nicht dazu, das zweite Script-Element überhaupt auszuwerten

Das stimmt im Grunde, aber hier liegt eine Ausnahme vor. Es gibt ein spekulatives Parsing, denn ein SCRIPT hat keinen Einfluss auf ein Folge-SCRIPT. Es kann dessen Herunterladen und Ausführen schwer verhindern. Daher kann der Parser weiterlaufen, um Ressourcen zu finden, die er parallel herunterladen kann (script@src, link@href usw.).

Aus Sicht des Scripts bleibt alles gleich, es hat nur Zugriff auf den DOM-Baum vor ihm, und dieses »Voraus-Parsen« verhindert auch nicht, dass das Script mit document.write() Inhalte einfügen kann.

http://hsivonen.iki.fi/speculative-html5-parsing/ (bezieht sich auf Firefox’ HTML5-Parser, aber seit Firefox 3.5 hat auch der alte Parser so ein Feature)
http://stackoverflow.com/questions/1072774/what-is-speculative-parsing
https://bugzilla.mozilla.org/show_bug.cgi?id=364315
https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing

Mathias