</body>
javascriptがWebページのレンダリングをブロックするのを避けるために、すべてのJSファイル/コードをロード/実行するすべてのJSファイル/コードを終了タグの直前に配置することはできませんか?
すべてのJSファイルとコードは、すべてのページがレンダリングされた後にのみダウンロードおよび実行されるため、 JSファイルをロードするためのノンブロッキング手法についてこの記事で提案されているようなトリックが必要です。彼は基本的に次のようなコードを使用することを提案しています。
document.getElementsByTagName("head")[0].appendChild(script);
Webページをレンダリングさせながらスクリプトを延期するため、Webページのレンダリング速度が速くなります。
しかし、このタイプの非ブロッキング手法(または他の同様の手法)を使用せ</body>
ずに、すべてのJSファイル(ロード/実行)を終了タグの前に配置するだけで、同じ非ブロッキング結果を達成できませんか?
</body>
著者(同じ記事内)が終了タグの前にコードを配置することを提案しているので(記事の「スクリプトの配置」セクションを参照)、基本的に終了</body>
タグの前にスクリプトをロードしているので、さらに驚いています。それでは、彼のコードの必要性は何ですか?
私は混乱しています、助けてくれてありがとう、ありがとう!
アップデート
参考までに、Google Analyticsは、同様の非ブロッキング手法を使用して追跡コードをロードしています。
<script type="text/javascript">
...
(function()
{
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = 'your-script-name-here.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s); //why do they insert it before the 1st script instead of appending to body/head could be the hint for another question.
})();
</script>
</head>