ここでの目的は、ブラウザーが defer または async をサポートしている場合に、スクリプトを非同期で読み込むことです。
ブラウザがどちらもサポートしていない場合、非同期ロードは気にしません (悪くはありません)。
jQueryがロードされているなど、スクリプトの前提条件が満たされている場合にのみ、スクリプトが実行されるようにしたいと考えています。他のスクリプトがロードされている間に自分のスクリプトをロードしたい (ブラウザーが defer または async をサポートしている場合のみ)。
ブラウザの API のみを使用してこれを行いたい。どんなに小さくても、ブラウザーが信頼できる (またはそうでない) スクリプトをロードすることは望ましくありません。
これは、IE8+、Gecko v.1.9.1+ (例: firefox 3.5.* または firefox 9.0+)、webkit (例: chrome)、presto (例: Opera) で動作する必要があります。バージョンについて言及しなかったものについては、最新の安定版を意味します。
可能であれば、簡単ではないスクリプトは必要ありません。この仕事をするのに簡単なものが必要です。つまり
、可能であれば、他のページで見たようないくつかの回避策を実行するためのいくつかのメソッドを備えた AJAX 呼び出しや派手なオブジェクトなどは必要ありません。これらは、非同期または遅延をサポートしていないブラウザでスクリプトの非同期ロードを強制するためのものです
繰り返しますが、スクリプトを非同期にするために凝ったものは必要ありません。ブラウザーが defer または async をサポートしていない場合、私は気にしません。前提条件が満たされた後に各部分が実行され、ブラウザーがサポートしている場合はasync または defer を使用するように、スクリプトが読み込まれることに注意してください。