2012-02-15 5 views
1

Вот код, есть префикс, который определяет локальный! но это все. Независимо от того, второй аргумент в обратном вызове всегда неверен, правильно ли он загружается или нет.Yepnope callback всегда возвращает 'result = 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

Извините, Marius, я сделал несколько тестов и ваш код работает (jQuery загружен и выполнен). Но вы правы в отношении второго аргумента, всегда ложного. Но yepnope doc говорит: «Еще одна вещь, которую вы, возможно, захотите узнать в этой ситуации, - результат вашего теста. К счастью, это второй параметр. [..]». Единственный способ, которым я поймал неопределенный jQuery, - это когда я забыл, что я запускал файл «файл: ///...html» :-). В проекте я заметил в IE и FF, когда Etags активированы, и я получаю 304, jQuery не определен в полном обратном вызове, но выполняется сразу после (не с Chrome). –

ответ

0

Я был поставлен в тупик на этом тоже - получается, что если вы не имеете условие проверки в вашем объекте (что ваш приведенный выше пример не делает), то есть

тест: Modernizr.geolocation,

результат всегда будет возвращать ложь. Это не означает, что сценарий не работает.