В среде разработки Ruby on Rails страница будет отображаться через 30 секунд в Firefox, но в IE 8 (с режимом совместимости IE 7) она занимает 90 секунд.
Дальнейшие исследования показывают, что она должна бытьJavascript, который замедлил страницу, потому что если Javascript выключен, то содержимое страницы также будет отображаться через 30 секунд.
Поскольку, вероятно, существует 7 или 8 плагинов jQuery, сценарии Facebook и сценарий Google Analytics, этопотребуется довольно много времени, чтобы переместить весь код Javascript в конец HTML-файла (что должно ускорить просмотр содержимого страницы, чтобы содержимое отображалось через 30 секунд, как в Firefox), есть ли способ заставить IEпоказать содержимое страницы перед завершением выполнения всего кода Javascript?
Я думаю, что IE может ожидать завершения всего кода Javascript в первую очередь, потому что, если существуют операторы document.write()
, которые должны быть в HTML ...Firefox или Chrome этого не ждут, а сразу отображают контент.
(на производственном сервере страница будет отображаться в Firefox через 5–7 секунд, поскольку многие «частичные компоненты» (подкомпоненты HTML) кэшируются.IE 8 тоже занимает намного больше времени, около 40 секунд или около того.)
PS Серьезная причина, по которой Javascript внедряется в HTML, может заключаться в том, что, скажем, существует "Изображение"«Карусель», то HTML-код находится в «частичном», то есть HTML-файле, сгенерированном HAML-файлом, и весь HTML, а также код Javascript находятся в этом файле для лучшей инкапсуляции, вместо того, чтобы иметь HTML в одномфайл и Javascript в другом файле, но мне интересно, что, если все эти блоки кода Javascript используют только jQuery $(document).ready(function() { ... })
, то эти блоки кода замедляют отображение страницы в IE?