ich zu verstehen versuche, wie CSS in einer bestimmten Einstellung ausgewertet:Verständnis Render CSS Blocking
Nehmen wir an, ich den folgenden Inhalt in meinem <head>
-Tag:
<html><head>
...
<link href="reset.css" type="text/css" rel="stylesheet">
<link href="style.css" type="text/css" rel="stylesheet">
<link href="autocomplete.css" type="text/css" rel="stylesheet">
</head>
<body>
... html ...
<script type="text/javascript" src="/js/script.js"></script>
</body></html>
Nun nehmen wir an, reset.css
und style.css
enthalten einige Regeln, die sich unmittelbar auf den oben genannten Fold-Inhalt oder die Elemente im HTML auswirken. autocomplete.css
enthält jedoch nur die verwendete Klasse, die später von JavaScript verwendet wird.
Nehmen wir weiter an, dass der bereits heruntergeladene Browser reset.css
und style.css
aber autocomplete.css
noch aussteht. Ich frage mich, was passieren würde, wenn der Browser es tun würde, trifft das blockierende Skript-Tag am Ende der Seite? Offensichtlich kann es den HTML-Code bis zum Script-Tag rendern, aber wird die Ausführung des Skripts durch die fehlende autocomplete.css
blockiert?
Beachten Sie, dass das Skript-Tag keine Synchronisierung ist.
Ich habe gelesen: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp
Und da heißt es, dass die Ausführung des JavaScript blockiert wird, bis die CSSOM ist.
Jetzt: 1. Startet die Seite Rendering sogar autocomplete.css
ist noch nicht angekommen? und, 2. Ist die Ausführung des script.js
Javascript blockiert, bis die autocomplete.css
da ist?
Hinweis, ich beziehe mich auf zwei verschiedene Dinge: Rendering und Skriptausführung.
dies lesen. Nur ein Tipp ** [Render-blockierende CSS entfernen] (https://varvy.com/pagespeed/render-blocking-css.html) ** –
Wenn 'autocomplete.css' fehlt, wird die Seite einen stillen Fehler werfen: ** Laden der Ressource fehlgeschlagen: net :: ERR_FILE_NOT_FOUND **. Aber alles wird weiterhin geladen, einschließlich Ihres Skripts. Wenn die Datei vorhanden ist und es Zeit zum Laden braucht, wird Ihre Seite nicht geladen, da sich Ihr CSS im Kopf befindet und vor dem Laden des Rests der Seite geladen werden muss. –