On my web site, estoy tratando de lograr la carga de página más rápida posible.JavaScript: ¿Cómo descargar JS de forma asíncrona?
Me he dado cuenta de que parece que mi JavaScript no se está cargando de forma asincrónica. Imagen vinculada a continuación.
alt text http://img249.imageshack.us/img249/2452/jsasynch2.png
¿Cómo funciona mi sitio web es que se necesita para cargar dos archivos externos de JavaScript:
- Google Maps v3 JavaScript y
- jQuery JavaScript
Entonces , Tengo JavaScript en línea dentro del HTML que no se puede ejecutar hasta que se descarguen los dos archivos anteriores.
Una vez que carga estos archivos javascript externos, entonces, y solo entonces, puede representar dinámicamente la página. La razón por la cual mi página no se puede cargar hasta que se carguen Google Maps y JQuery es que mi página, basada en la geolocalización (usando Gmaps) del usuario, mostrará la página en función de dónde se encuentran (por ejemplo, Nueva York, San Francisco, etc.) Es decir, dos personas en diferentes ciudades que miran mi sitio verán diferentes páginas iniciales.
Pregunta: ¿Cómo puedo obtener mis archivos JavaScript para que se descarguen de forma asíncrona, de modo que el tiempo total de carga de la página sea el más rápido?
ACTUALIZACIÓN:
Si tuviera que descargar, de alguna manera, Google-maps y jQuery forma asíncrona, ¿cómo iba a crear un evento que se disparó una vez ambos Google mapas y jQuery han descargado desde mi la página tiene una fuerte dependencia de esos archivos para ejecutar.
ACTUALIZACIÓN 2
A pesar de que hay 3 respuestas a continuación, ninguno en realidad todavía responder el problema que tengo. Cualquier ayuda sería muy apreciada.
debe mover todo el JavaScript en línea a javascript no objeción y eso solucionará algunos de sus problemas. –
Con respecto a su actualización, solo cree una función que se llama cuando * cada * de sus scripts está cargado, y haga que llame a su otro código en la * segunda * hora a la que se llama. Es decir. la primera vez que se invoca, establece una variable y la segunda vez (cuando detecta que la variable está configurada), ejecuta tu código. – tloflin
@tloflin, lo que acabas de describir es crear un "efecto de cascada", que no es ** asynch **. – Teddyk