Estoy cargando algunos scripts YUI dinámicamente en mi código en respuesta a una solicitud Ajax. El DOM y la página están completamente cargados cuando se realiza la solicitud: es una respuesta para un evento de usuario.Cargando scripts dinámicamente
Agrego la etiqueta a la cabeza, cuando era niño. Pero tropecé con algunos problemas:
Agrego dos scripts YUI alojados en Yahoo! CDN y una secuencia de comandos en línea de mi propia responsabilidad para crear objetos, agregar oyentes de eventos y renderizar los widgets de YUI. Pero cuando ejecuto el script, los scripts YUI no están cargados, pero me dan errores y no funcionan como esperaba.
¿Hay una forma de ejecutar solo mi script (o definir una función para ejecutar) cuando los scripts YUI están cargados por completo?
El 'typeof' operador * * siempre devuelve una cadena, el cheque debe ser' si (typeof YUI_NAMESPACED_THING! = "Indefinido") // ... ' – CMS
Este es el mal manera de hacerlo. En primer lugar, probablemente esté pensando en setInterval o un setTimeout encadenado, ya que un solo setTimeout podría A) retrasar la ejecución demasiado tiempo ocasionando un tiempo de configuración de la página innecesariamente malo, o B) fallar la condición de carrera creada suponiendo que los scripts se cargarían dentro de un tiempo específico. Algo basado en la solución onload/onreadystatechange es mejor. – Luke
@Luke Estaba pensando en el setTimeout encadenado. Pero sí, estoy de acuerdo en que onload/onreadystatechange es una mejor solución. Sabía que la carga no funcionaba por sí sola y no sabía que había una solución de navegador cruzado en ese callejón. Volví a subir la respuesta de digitalFresh –