ページにノンブロッキング JavaScript をロードしたいと考えています。以前async
はサポートされていましたが、ベスト プラクティスは単純なスクリプトを介して動的にロードするようです。
これは、最初の の前に挿入された正常に動作する例です<script>
:
var myscript = document.createElement('script');
myscript.async = true; // cannot hurt, right?
myscript.type = 'text/javascript';
myscript.src = 'myscript.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(myscript, node);
<head>
の末尾や のようなさまざまな場所にスクリプトを挿入するいくつかのバージョンを見つけました<body>
。
document.getElementsByTagName("head")[0].appendChild(myscript);
document.getElementsByTagName("body")[0].appendChild(myscript);
非同期ですが、一部のブラウザでは順序が重要なようです。ブラウザのサポートに違いはありますか? パフォーマンス?ブロックリスク?
順序に関する制約はありません (相互に影響しません) が、スクリプトの読み込みに時間がかかりすぎる場合でも、ページ コンテンツが正常に読み込まれるようにしたいと考えています。最後の解決策が最も効果的だと思いますが、違いはわかりません。