2010-11-13 11 views
17

La mayoría de las personas recomiendan que las etiquetas de scripts se coloquen en la parte inferior de la página por motivos de rendimiento: jQuery: Move JavaScript to the bottom of the page?¿Dónde deberían ubicarse los scripts en una página jQuery Mobile para obtener el mejor rendimiento?

¿Cómo se aplica esta práctica a las páginas web de jQuery Mobile?

Ejemplos He visto lugares jQuery y jQuery Mobile scripts en la etiqueta head. ¿Deberían colocarse otros scripts en la etiqueta principal también? ¿Cuál es la mejor práctica?

+1

Buena pregunta, ¿la cantidad de peticiones HTTP es la más importante aquí? He visto algunos sitios incluir js & css en la página en lugar de recursos externos. También creo que será muy diferente dependiendo del dispositivo, pero sería bueno tener algunas estadísticas en todas las plataformas. – redsquare

+0

@James Newton-King, finalmente, ¿cómo estás? Antes, siempre ponía el js en el fondo, pero hoy encontré el aspecto de ponerlo en el fondo, el ícono de carga no se muestra (la primera pantalla es muy fea y cambió al estilo de JQuery para dispositivos móviles). No sé si es porque el problema de la ubicación js, ¿me puede decir que finalmente elige por favor? Gracias – qakmak

Respuesta

4

Aquí, creo que la misma respuesta cuenta como para las páginas de escritorio. Si el javascript es vital para la funcionalidad de la página, colóquelo en la parte superior. Si es complementario, lo colocas en la parte inferior.

2

La mejor práctica es en la parte inferior. por lo general, el script jquery se ejecuta cuando se carga DOM, por lo que estar abajo en la página no tiene ningún efecto en la pantalla, pero tiene un efecto sobre la velocidad, ya que permitirá que otros elementos se carguen previamente.

+1

¿cómo se compara esto con el próximo estándar html5? – mpapis

+0

No estoy 100% seguro pero no creo que nada de esto cambie para HTML5 –

3

Si bien esto puede no estar relacionado con el rendimiento como la velocidad, es importante en el contexto móvil de jquery que agregue scripts correctamente a las páginas. Plain old $(function(){}) te sorprenderá. No funciona en algunos casos.

Cuando se hace clic en un enlace, jquery mobile busca la página con ajax y agrega su contenido a la página actualmente abierta ignorando todo lo que ingresó en el <head>. [Esto es cierto de 1.0a2 JQM]

Hay dos formas de agregar secuencias de comandos que trabajarán:

  1. poner todas las secuencias de comandos en un solo archivo .js y vincularlos en la cabeza de todas las páginas de su aplicación y trabajar con eventos que proporciona jqm (pageshow y pagecreate).
  2. colocando scripts en la parte inferior del cuerpo y NO requiere que DOMready se dispare.

La segunda manera podría ser mejor para el rendimiento en aplicaciones grandes, donde hay muchas secuencias de comandos que el usuario podría no usar (no visitar ciertas páginas). Lo recomendaría de la primera manera: es más limpio y jqm parece alentarlo.

Un híbrido de ambos podría ser lo mejor: al agregar un controlador de eventos de pageshow, se activaría una función predeterminada de cada página cargada.

[editar]

ver Limitaciones here en la parte inferior de la página.

Cuestiones relacionadas