1

私は yepnope と modernizr の初心者です。私はいくつかの例をテストしようとしています。私の質問は、jquery がサードパーティの CDN から読み込まれるときです。それはうまくいっています。しかし、jquery がローカルから読み込まれると、domready 関数が機能しませんか? なんで?間違ったスタイルをコーディングしていますか?

yepnope([{
    load: 'http://code.jquery.com/jquery-1.5.9.js'
    , callback: function(result, key) {
      if(!window.jQuery) {
        yepnope('/javascripts/jquery.min.js');
        alert("Loaded jQuery from a local!");
      } else {
        alert("Loaded jQuery from a 3rd party CDN!");
      }
    }, complete: function() {
      $(function(){
        alert("DOM ready!");
      });
    }
  }]);
4

1 に答える 1

3

コードは機能するはずであり、yepnopeテストスイートでテストされます。

ただし、タイムアウトの問題が発生している可能性があります。ほとんどのブラウザでは、非同期スクリプトの読み込みで一貫性のある、または信頼できる方法でエラーの報告/処理を行うことはできません。そのため、yepnopeは、スクリプトがコールバックしない場合にスクリプトタイムアウトを実装します。したがって、最初にロードするjQueryのバージョンが存在しない場合、yepnope.errorTimeoutコールバックと完全なハンドラーが実行されるまでに10秒かかる場合があります(デフォルトでは、を介して変更可能です)。この方法で物をロードしようとすることの不幸な欠点です。

于 2011-03-23T18:21:09.463 に答える