2012-02-15 100 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。这并不意味着脚本包含失败。