ブロッキングレンダリングの理解:私はCSSを特定の設定で評価されるかを理解しようとしていますCSS
は、私は私の<head>
タグに以下の内容を持っていると仮定しましょう:
<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>
さて、reset.css
を想定してみましょうし、 style.css
には、上記の折り畳み内容またはHTMLの要素にすぐに影響するいくつかの規則が含まれています。ただし、autocomplete.css
には、後で一部のJavaScriptで使用される、使用されるクラスのみが含まれています。
ここで、すでにダウンロードされたブラウザがreset.css
とstyle.css
だが、autocomplete.css
がまだ保留中であるとします。 ブラウザのページの最後にブロッキングスクリプトタグが見つかるとどうなりますか?明らかに、HTMLをスクリプトタグまでレンダリングすることはできますが、欠けているブロックによってブロックされたスクリプトの実行はautocomplete.css
ですか?
スクリプトタグは同期ではありません。
私が読んだ: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp
そして、そこにはCSSOMがあるまではJavaScriptの実行がブロックされていることを述べています。
Now: 1.ページのレンダリングの開始がautocomplete.css
になってもまだ到着していませんか?そして 2. autocomplete.css
があるまでscript.js
JavaScriptの実行がブロックされていますか?
注:私は、レンダリングとスクリプトの実行という2つの異なることを指摘しています。
はこれをお読みください。ちょうどヒント** [レンダリングブロックを取り除くCSS](https://varvy.com/pagespeed/render-blocking-css.html)** –
'autocomplete.css'が見つからない場合、ページはサイレントエラーをスローします: **リソースのロードに失敗しました:net :: ERR_FILE_NOT_FOUND **。しかし、スクリプトを含めてすべてがロードされ続けます。ファイルが存在し、読み込みに時間がかかる場合、cssが先頭にあるのでページが読み込まれず、残りのページを読み込む前にロードする必要があります。 –