7

私はModernizer.loadを試しています。

私はこれを持っています:

Modernizr.load([
      {
         load  : ['/js/jquery-1.6.1.js', '/js/jquery.tools.min.js', '/js/myscript.js']
      }
      ]);

正しく理解していれば、このようなコードを使用してスクリプトを非同期でロードできます。しかし、それらを順番に実行することはできますか?myscript.jsでjqueryオブジェクトを最初にロードする必要がある場合はどうなりますか?

modernizrドキュメントの例では、load([])は'complete'プロパティをとることができ、そのパラメーターは、他のすべてが完了したときに別のスクリプトをロードできる関数にすることができます。ただし、ここで関数を使用して依存関係後のスクリプトをロードすると、シリアルでロードされます。ドキュメントには、これがパフォーマンスに悪影響を与える可能性があると具体的に記載されています。

ただし、すべてを非同期でロードすると、それらが実行される順序がわかりません。そしてもちろん、最初に実行するには依存関係が必要です。

4

1 に答える 1

12

を使用するModernizr.loadと、埋め込みリスト/ハッシュを介して含めるすべてのファイルが非同期で読み込まれますが、それぞれが配置された順序で実行されます。

したがって、この例ではファイルを非同期でロードしますが、次の順序で実行します。

1: /js/jquery-1.6.1.js
2: /js/jquery.tools.min.js
3: /js/myscript.js`

ちなみに、例を単純化することができます。

Modernizr.load(['/js/jquery-1.6.1.js', '/js/jquery.tools.min.js', '/js/myscript.js']);

詳細については、ドキュメントのModernizr.load()チュートリアルを参照するか、 Yepnopejs.com(現時点では、Modernizr.load()が基本的に何であるか)を確認してください。

于 2011-07-13T03:10:55.577 に答える