defer の機能は、オブジェクトが見つからないという問題を回避するために、ドキュメントがロードされた後にスクリプトを実行することです。以下に良い例がありますので、興味のある方は参照してください。
<script src="../cgi-bin/delscript.js" defer></script> 中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题---有点问题 <button id="myButton" onclick="alert('ok')">test</button> <script> myButton.click(); </script> <script> myButton.click(); </script> <button id="myButton" onclick="alert('ok')">test</button> <script defer> function document.body.onload() { alert(document.body.offsetHeight); } </script>
追加された defer は、ページが完全にロードされた後に実行されることを意味します。これは window.onload と同等ですが、アプリケーションでは window.onload よりも柔軟です。
defer は、スクリプト プログラムの強力な機能の中でも「縁の下の力持ち」です。これは、スクリプト セグメントにすぐに実行する必要のないコードが含まれていることをブラウザーに伝え、SRC 属性と組み合わせて使用すると、これらのスクリプトがバックグラウンドでダウンロードされ、フォアグラウンドのコンテンツが表示されるようにすることもできます。通常通りユーザーに。
ただし、ドキュメントがロードされた後にスクリプトを実行します。
最後に、次の 2 つの点に注意してください。
1. defer タイプのスクリプト セグメントで document.write コマンドを呼び出さないでください。 document.write は直接的な出力効果を生み出します。
2. また、遅延スクリプトセグメントには、即時実行スクリプトで使用されるグローバル変数や関数を含めないでください。
パフォーマンスを最適化する一般的な方法は、スクリプトをすぐに実行する必要がない場合に、