2014-03-13 5 views
0

Я использую requirejs и звоню в retinajs в качестве плагина. Я использую подкладку вместе с зависимостями JQuery:Использование requirejs с retinajs

.... 
'plugins/retina.min': { 
     'deps': ['jquery'] 
    } 
.... 

Я тогда инициализации моего приложения:

requirejs(['./main'], function(App) { 
    App.init(); 
}); 

"main.js":

define(['jquery', 'foo', 'bar', 'plugins/domReady!', 'plugins/retina.min'], function($, foo, bar, retina) {....}); 

Моим логотип на моей странице правильно обновляясь, но, похоже, я сталкиваюсь с проблемой синхронизации. Далее вниз страница (или даже последующие просмотры страниц) сценарий выполняется до того, как страница будет готова.

Retina.js auto-exectues, так что не существует способа инициализации для каждого слова. Есть ли способ «вызвать» плагин jquery, который автоматически выполняется с помощью js?

Это неправильно, но я думаю, что это что-то вдоль линий, что мне нужно:

define(['jquery', 'foo', 'bar', 'plugins/domReady!', 'plugins/retina.min'], function($, foo, bar, retina) { 
    var App = { 
     init: function() { 

      retina.init(); // This doesn't exist 
      <script src="/plugins/retina.js"></script> // Not even close to valid, but this is what I need. 
     } 

    }; 
    return App; 
}); 

Спасибо за ваше время и предложения!

+1

Вы уверены, что вы ссылаетесь на право проекта "Retina"? Если я пойду туда и посмотрю на источник, я не вижу ничего связанного с jQuery. Этот [проект] (https://github.com/tylercraft/jQuery-Retina), однако, * является * плагином jQuery. – Louis

+0

Да [это] (http://retinajs.com/) - это плагин, который я использовал/использую. Однако я открыт для всего остального. Я проверю это. Возможно, это будет лучше соответствовать моим потребностям. Спасибо! – Damon

ответ

2

Попробуйте это:

define(['jquery', 'foo', 'bar', 'plugins/domReady!'], function($, foo, bar) { 
    var App = { 
     init: function() { 
      require(['plugins/retina.min'], function(){ 
       // This is straight from retina.js's source: https://github.com/imulus/retinajs/blob/master/src/retina.js#L142 
       if (Retina.isRetina()) { 
        Retina.init(window); 
       } 
      }); 
     } 
    }; 
    return App; 
}); 
+0

Я просто нахожусь в требуемой сцене. Это похоже на путь, который я пытаюсь спуститься. Спасибо! – Damon

Смежные вопросы