2014-09-17 8 views
12

Ich weiß, Skriptdateien können die Schlüsselwörter DEFER und ASYNC auf einem Ressourcen-Include verwenden. Funktionieren diese Schlüsselwörter auch für Stylesheet (d. H. CSS)?DEFER oder ASYNC auf einem Stylesheet erlaubt?

Syntax würde vermutlich sein:

<link rel="stylesheet" type="text/css" href="./path/to/style.css" defer /> 

Ich weiß nicht genau, ob es oder nicht erlaubt ist.

Antwort

13

Defer und Async sind bestimmte Attribute des Tags <script>https://developer.mozilla.org/en/docs/Web/HTML/Element/script

Sie werden nicht in anderen Tags arbeiten, weil sie nicht existieren dort. Ein Stylesheet ist kein Skript, das Logik enthält, die parallel oder nach dem Laden ausgeführt werden soll. Ein Stylesheet ist eine Liste von statischen Stilen, die atomisch in HTML angewendet werden.

+0

Danke für die schnelle Antwort. Ja, habe es nicht auf der STYLE-Seite gesehen: https://developer.mozilla.org/en/docs/Web/HTML/Element/style – Doug

+0

es ist möglich und hier erwähnt, https://developers.google.com/ Geschwindigkeit/Dokumente/Einblicke/OptimizeCSSDelivery – youhana

7

Sie können dies tun:

<link rel="stylesheet" href="/css/style.css" media="none" onload="if(media!=='all')media='all'" > 

und einen noscript Rückfall erstellen

+0

Vielen Dank! Das war genau das, wonach ich suchte –

0

Ich kann es nicht überall dokumentiert finden, aber meine Ergebnisse sind:

Wie es getestet wurde

  • Geprüft nur mit Google Chrome Version 61.0.3163.100 (Offizielle Version) (64 Bit)
  • Verwendet Schnell & Langsame 3G-Drosselung in Dev-Tools.

Was ich getestet

Ich habe ein Stylesheet benutzerdefinierte Schriftarten importieren und die Schriftarten anwenden.

Bevor:

Text die benutzerdefinierte Schriftart verwendet wurde unsichtbar, bis es vollständig geladen war und es schien dann.

Nach/Ergebnis:

So hinzugefügt => Das Ergebnis ist, dass der Text sichtbar ist, sofort, wenn die Seite zu machen beginnt, aber den Rückfall Schriftart verwenden, dann nach einer Weile auf die benutzerdefinierten Schriftart schaltet.

So wie es scheint, zumindest Google Chrome unterstützt auf <link> Tags verschieben und auch wenn es nicht überall öffentlich dokumentiert ist ...