2011-01-11 13 views
5

He notado que algunas páginas comienzan a renderizarse casi de inmediato, mientras que otras a veces tienen que esperar hasta que se hayan descargado todos o la mayoría de los recursos (javascript, image, css). El peor caso parece ser para una página grande, en una conexión lenta o servidor. Una página específica que estoy viendo sale a casi 2 MB, con 30 archivos .js diferentes, una docena de archivos .css y 80 imágenes.¿Qué impide que las páginas HTML aprovechen la representación progresiva?

Estoy al tanto de las sugerencias en http://developer.yahoo.com/performance/rules.html, pero ¿qué impediría que el navegador intente representar la página hasta que se haya descargado el último elemento?

Respuesta

1

Hay un puñado de razones por las que esto puede suceder. Lo más común que veo son tablas grandes.

Por ejemplo, a Internet Explorer no le gusta mostrar una tabla hasta que se termine de cargar.

Cada navegador es un poco diferente, sin embargo, en la forma en que representan las cosas que aún se están descargando.

+0

Me interesa una lista de elementos que puedan afectarlo. En mi caso, no hay ninguna tabla en la página, aunque hay unos 50 scripts incrustados. – chris

+0

@chris, sería útil si nos puede dar un enlace y en qué navegador está viendo problemas. No puedo darle una lista, ya que * todo * lo afecta. – Brad

+0

He intentado IE, FF y Chrome, y ninguno de ellos está haciendo una representación progresiva. El sitio es tourismnewbrunswick.ca – chris

1

La regla general es no usar etiquetas sobre la estructura para afectar el diseño. Con los estilos al comienzo de una página, un motor de renderizado sabe lo que tiene que hacer para representar una parte determinada de la página, pero siempre tiene que esperar a que se descargue una parte para saber cómo renderizarla correctamente.

Con esto en mente:

  1. tablas deben rearely (? No) ser utilizados con fines de diseño.
  2. Las partes que deben representarse razonablemente primero (barras laterales, barras de herramientas y cualquier elemento que enmarque la página) deben figurar en la parte superior del documento HTML.

Las enormes bibliotecas de JavaScript en uso hoy en día son diferentes en el sentido de que solo necesitan cargarse (y almacenarse en caché) una vez.

+0

Las tablas nunca deben usarse para fines de diseño. No es para lo que está hecho. Las tablas son para datos tabulares, del mismo modo que un párrafo es para texto y los encabezados son para encabezados. –

Cuestiones relacionadas