2011-01-01 6 views
2

Ich untersuche einige interessante Verhaltensweisen von Browser, ich weiß nicht, ob es im Standard oder nicht ist. Wenn ich alles innerhalb <head></head> setze, wird der Browser erst beginnen, die Seite zu rendern, nachdem alle Ressourcen in head abgerufen wurden.Browser laden Strategie, <head> ... <body>

Also denke ich, dass so wenig wie möglich Dinge in den Kopf ist eine der wichtigsten Website-Optimierungstechniken, ist es richtig? Meine Frage ist:

Wenn ich script/css in Körper oder andere Teile des HTML setzen, wie kann ich wissen, dass das Skript erfolgreich geladen wurde, so dass ich nicht eine undefinierte Funktion aufrufen werde?

+0

Hier ist eine sehr ähnliche Frage mit einer ausgezeichneten Antwort: http://stackoverflow.com/questions/1795438/load-and-execution-sequence-of-a-web-page –

Antwort

2

In Kürze zu antworten: Sie sollten die Skript-Tags wirklich am Ende des Elements <body> setzen. Style-Tags sollten in eingegeben werden, andernfalls muss das Dokument jedes Mal neu gerendert werden, wenn ein neues Stylesheet geladen wird. Sie möchten also wirklich, dass alle geladen werden, bevor das Dokument mit dem Rendern beginnt.

Für die Verwendung von JavaScript-Code, der noch nicht geladen ist. Natürlich sollten Sie keine Ereignisse oder etwas zu früh binden und sollten kein Inline-Javascript in der Seite haben. Die Lösung kann sein, einfach das Fenster onload-Ereignis zu verwenden, um Ihre Initialisierung durchzuführen, wenn Sie wirklich Inline-Code in der Seite haben müssen.