2012-03-05 19 views
9

Estoy tratando de crear un archivo javscript que cree un openheatmap. Necesito incluir dos archivos javascript src diferentes, pero lo que estoy haciendo actualmente no funciona, esto es lo que estoy haciendo ahora.JavaScript script múltiple src

<html> 
<head> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://static.openheatmap.com/scripts/jquery.openheatmap.js" type="text/javascript"></script> 

¿Hay una mejor manera de hacerlo?

+2

¿por qué hay una tercera etiqueta 'script' no cerrada? – cambraca

+5

Esa es la forma correcta de incluir varias secuencias de comandos. Sería mejor que publicara un [ejemplo corto, autónomo, correcto] (http://sscce.org/) de su problema. Además, jQuery 1.4.2? ¿Alguna vez no crees? – Phil

+0

la tercera etiqueta de script de finalización se encuentra en la parte inferior de mi archivo, después de esas tres líneas tengo el código de JavaScript restante. Y sí, estoy de acuerdo, es una versión anterior. – ewein

Respuesta

7

Hay una forma mejor de incluir archivos JavaScript: lo hace tarde en su archivo, especialmente cuando el script no está alojado en usted. Esto permite que la página se cargue sin que se bloquee la carga de recursos externos.

Así que le recomendaría que ponga todos los scripts justo antes de la etiqueta de cierre body.

Incluso puede llevar esto un paso más allá y cargar los scripts sin bloquear el renderizado de página, lo cual puede hacer con el atributo defer (que a diferencia del atributo async garantiza el orden de ejecución, que parece importante en su ejemplo).

<script defer src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script defer src="http://static.openheatmap.com/scripts/jquery.openheatmap.js"></script> 
    <script defer> 
     // JavaScript here... 
    </script> 
</body> 

También puede utilizar un atributo con el atributo onload aplazar para especificar un método para ejecutar una vez que el DOM está listo.

<script defer onload="MyStuff.domLoaded();"> 

Para la otra parte de su pregunta, con respecto a si su script funciona, por favor proporcione algo más de información.

Cuestiones relacionadas