2014-02-12 16 views
7

Ich möchte meine Javascripts und Stylesheets async laden, um eine bessere Ladeleistung zu haben; Javascript weiß, dass ich ich die Javascripts Asynchron mit laden kann:Stylesheet Async mit Rails

javascript_include_tag "application", :async => true

und es funktioniert für die Javascripts. Aber ist dies nicht möglich ist, mit den stylesheet_link_tag wie:

stylesheet_link_tag "application, :media => "all", :async => true

auch das ist die „nette“ Art und Weise, dies zu tun?

dank

Ich Schienen 3.2.12 und Rubin 1.8.7

+0

Ruby 1.8.7 hat vor einiger Zeit das Ende des Lebens erreicht - du solltest wirklich auf das Upgrade achten. – sevenseacat

+0

@sevenseacat jeder Weg, es in Ruby 1.9.2 oder 2.0 zu tun? – joseramonc

+0

Das Problem hat nichts mit der Version von Ruby zu tun, ich schlage einfach vor, dass Sie Ihre App wirklich auf eine neuere Version aktualisieren sollten. – sevenseacat

Antwort

8

Das async Attribut ist nicht auf dem <link>-Tag. Es wird nur zum asynchronen Herunterladen externer Skript-Ressourcen verwendet.

Die Idee ist, dass Sie den CSS-Download nicht verzögern möchten, weil es benötigt wird, um die Seite zu rendern, während Javascript oft gleichzeitig mit dem HTML heruntergeladen und ausgeführt werden kann, wenn es abgeschlossen ist.

Es ist nicht sinnvoll, eine asynchrone Option für externe CSS-Ressourcen zu verwenden.

+0

Ich weiß, dass dies ein alter Kommentar ist, aber für die Leute, die das noch lesen: Async ist wichtig, wenn Sie Ihre nicht kritischen Stile verzögern möchten: https://developers.google.com/web/tools/lighthouse/audits/blocking -Ressourcen – Extranion