2012-02-15 114 views
1

這是代碼,有一個前綴定義本地!但就是這樣。無論如何,無論加載是否正確,回調中的第二個參數始終爲false。Yepnope回調總是返回'結果= false'

而且window.jQuery總是返回未定義的,所以我不知道怎麼回事

yepnope([ 
     { 
      load: { 
       "style" : "css!<?php bloginfo('stylesheet_url'); ?>", 
       "fonts" : "timeout=4000!css!http://yui.yahooapis.com/2.9.0/build/fonts/fonts-min.css", 
       "jquery" : "timeout=4000!//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js", 
       "fbSDK" : "local!/js/FBsdk.js", 
       "detect" : "local!/js/detectDevice.js", 
      }, 
      callback: { 
       "fonts": function() { 
        console.log(arguments);// the second argument is 
       },       // always false 
       "jquery": function() { 
        if (!window.jQuery) { 
         yepnope('local!/js/jQuery-1.7.js'); 
        } 
       } 
      } 
     } 
    } 
+0

對不起馬呂斯,我做了一些測試,你的代碼工作(jQuery是加載和執行)。但你對第二個論點是正確的,總是假的。但是yepnope doc說:「在這種情況下你可能想知道的另一件事是你測試的結果,幸運的是,這是第二個參數[..]」。我發現一個未定義的jQuery的唯一方法是當我忘記我正在運行「file:///...html」:-)。在一個項目中,我注意到IE和FF在Etags被激活時,我收到一個304,jQuery在完整回調中未定義,但在(不適用於Chrome)後執行。 – 2012-03-07 11:24:50

回答

0

我難倒這其中也 - 事實證明,如果你沒有在你的對象的測試條件(這你上面的例子中沒有),即

測試:Modernizr.geolocation,

結果將始終返回false。這並不意味着腳本包含失敗。