Normalmente se carga en una red troncal de aplicaciones utilizando require.js durante la carga de la páginacómo inicializar su aplicación dentro de la columna vertebral require.js después de devolución de llamada externa
<script data-main="js/main" src="js/libs/require/require.js"></script>
que carga algunas dependencias, y lanza la aplicación.
Si su aplicación requiere la manipulación del DOM, puede utilizar el plugin domready
require(['domReady','app' ], function (domReady, App) {
domReady(function (App) {
App.Initialize()
}):
});
Pero mi aplicación se comunica con un API de Flash. Necesito esperar hasta que el plugin flash termine de cargar su propio xml. Lanzo una devolución de llamada a Javascript cuando esto está hecho. Esta devolución de llamada debe desencadenar la aplicación.inicializar() con las dependencias como en require.js
El primer método y el segundo método (a la espera de dom) no garantizan que la aplicación flash esté disponible todavía. Entonces, ¿cómo puedo inicializar la aplicación, para que app.js tenga sus dependencias y la aplicación flash esté disponible? O formulado de otra manera: ¿Cómo puedo inicializar require.js través de un evento javascript/devolución de llamada
Actualización: Al parecer, esto sería suficiente:
<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>
El plugin flash simplemente puede llamar window.init() para iniciar la aplicación. Lo malo es que jQuery se carga cuando la aplicación se inicializa. Esto podría ocasionar un pequeño retraso antes de que se muestren las cosas.
I eonder si, cuando la carga jQuery en la cabeza/extremo del cuerpo, require.js se vuelva a cargar/crear instancias de otra copia de jQuery, o leer desde la memoria caché/dom
Gracias por su respuesta, aunque han pasado dos años :) Realmente no puedo probar si funciona ahora. – Jareish