Как инициализировать ваше базовое приложение в require.js после внешнего обратного вызова

Обычно вы загружаете приложение Backbone с помощью require.js во время загрузки страницы

<script data-main="js/main" src="js/libs/require/require.js"></script>

, который загружает некоторые зависимости и запускает приложение.

Если ваше приложение требует манипулирования DOM, вы можете использовать плагин domReady

require(['domReady','app' ], function (domReady, App) {
  domReady(function (App) {
     App.Initialize()
  }):
});

Но мое приложение взаимодействует с Flash API. Мне нужно подождать, пока плагин flash загрузит собственный xml. Когда это будет сделано, я отправляю обратный вызов javascript. Этот обратный вызов должен запустить app.initialize () с зависимостями, как в require.js

. Первый метод и второй метод (ожидающий dom) еще не гарантируют, что flash api доступен. Итак, как я могу инициализировать приложение, чтобы app.js имел свои зависимости и был доступен flash api. Или сформулируйте иначе: Как я могу инициализировать require.js с помощью события / обратного вызова javascript

Обновление: По-видимому, этого было бы достаточно:

<script data-main="js/main" src="js/libs/require/require.js"></script>
<script type="text/javascript">
    function init(){
        require(['framework/app'], function(App){
          App.initialize();
        });
    }       
</script>

Плагин flash может просто вызвать window.init () для запуска приложения. Обратной стороной может быть то, что такие вещи, как jQuery, загружаются при инициализации приложения. Это может привести к небольшой задержке перед показом материала.

Интересно, будет ли, когда я загружаю jquery в заголовок / конец тела, require.js перезагружает / инстанцирует другую копию jquery или читает из кеша / dom

7
задан Ruben Bartelink 23 April 2013 в 12:11
поделиться