6 Stimmen

Besessenheit mit nicht-blockierenden Skripten

Seit ich das Konzept der nicht-blockierende Skripte Ich bin davon besessen, alle meine externen Skripte auf diese Weise zu laden. Ich habe sogar Joomla! Templates gehackt (ich weiß, dass das eine schlechte Praxis ist), um nicht blockierende Skripte in der index.php Datei zu laden. Beispielcode unten.

(function() {
    var script = document.createElement('script'),  head = document.getElementsByTagName('head')[0]; 

    script.type = 'text/javascript'; 
    script.src = "http://www.mywebsite.com/scripts/one_of_many.js"
    head.appendChild(script);
})();

Meine Fragen sind:

Wann ist es gut/schlecht, nicht-blockierende Skripte zu laden?

Wie hoch sollte die Grenze für die Verwendung nicht blockierender Skripte sein?

1voto

Alejandro Bologna Punkte 823

Die Technik, die Sie für nicht blockierende Skripte verwenden (Anhängen eines Skript-DOM-Elements), behält die Reihenfolge der Skriptausführung nicht in allen Browsern bei, sondern nur in Firefox und Opera.

Wenn Sie sich nicht um die Ausführungsreihenfolge kümmern, können Sie sie gefahrlos verwenden.

Wenn nicht, können Sie es mit anderen Techniken kombinieren, wie z. B. Script-Deferment für IE, Script in iframe oder XHR.

Mehr Details auf Noch schnellere Websites

0voto

AutomatedTester Punkte 21864

Wenn Sie viele Dateien laden, auch wenn sie nicht blockiert sind, was Sie erreichen können, indem Sie sie einfach an das Ende Ihrer Html-Datei setzen, kurz vor der </body> Tag, da die Browser die Dinge so tun, wie sie sie auf der Seite finden, ist, wenn Sie mehrere laden.

Es ist gut, das zu tun, aber es ist besser zu sehen, über die Zusammenführung von Dateien und minifying/obstuficating, um noch mehr Zeit rasiert aus zu bekommen. Die andere offensichtliche Sache ist, um sicherzustellen, dass Sie die JS, die an den Browser geht GZipping sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X