2011-01-11 3 views
5

Я заметил, что некоторые страницы начинают визуализироваться почти сразу, в то время как другим иногда приходится ждать, пока не будут загружены многие или все ресурсы (javascript, image, css). В худшем случае, похоже, для большой страницы, на медленном соединении или сервере. Одна конкретная страница, на которую я смотрю, достигает почти 2 МБ, с 30 различными файлами .js, десятком файлов .css и 80 изображений.Что мешает HTML-страницам использовать прогрессивный рендеринг?

Я знаю о предложениях в http://developer.yahoo.com/performance/rules.html, но что мешает браузеру пытаться отобразить страницу до тех пор, пока последний элемент не будет загружен?

ответ

1

Существует несколько причин, по которым это может произойти. Наиболее распространенным я вижу большие таблицы.

Например, Internet Explorer не хочет отображать таблицу до завершения загрузки.

Каждый браузер немного отличается, но в том, как они отображают вещи, которые все еще загружаются.

+0

Меня интересует список элементов, которые могут повлиять на него. В моем случае на странице нет таблиц, хотя есть 50 встроенных скриптов. – chris

+0

@chris, было бы полезно, если бы вы могли дать нам ссылку и какой браузер вы видите. Я не могу дать вам список, так как * все * влияет на него. – Brad

+0

Я пробовал IE, FF и хром, и ни один из них не делает прогрессивный рендеринг. Сайт is tourismnewbrunswick.ca – chris

1

Общее правило заключается в том, чтобы не использовать теги о структуре, влияющие на макет. Со стилями в начале страницы движок рендеринга знает, что он должен сделать, чтобы отобразить определенную часть страницы, но ему всегда нужно дождаться загрузки части, чтобы узнать, как ее правильно отобразить.

Имея это в виду:

  1. Таблицы должны rearely (? Никогда) использоваться для целей компоновки.
  2. Детали, которые должны быть обоснованно отображены первыми (боковые панели, панели инструментов и все, что обрамляет страницу), должны быть размещены в верхней части документа HTML.

Огромные библиотеки JavaScript, используемые сегодня, отличаются тем, что их нужно только загружать (и кэшировать) один раз.

+0

Таблицы никогда не должны использоваться для целей компоновки. Это не то, для чего это сделано. Таблицы предназначены для табличных данных, так же, как абзац для текста и заголовков для заголовков. –

Смежные вопросы