В среде разработки Ruby on Rails страница будет отображаться через 30 секунд в Firefox, но занимает 90 секунд в IE 8 (с режимом совместимости IE 7).
Дальнейшее расследование показывает, что именно 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 секунд или около того. )
P.S. Веская причина, по которой Javascript встроен в HTML, может заключаться в том, что, скажем, если есть «Карусель изображений», тогда HTML-код находится в «частичном», который является сгенерированным файлом HTML. файлом HAML, и весь код HTML, а также код Javascript находятся в этом файле для лучшей инкапсуляции вместо того, чтобы иметь HTML в одном файле и Javascript в другом файле, но мне интересно, что, если все эти блоки кода Javascript только используйте jQuery $(document).ready(function() { ... })
, тогда этот блок кода замедлит отображение страницы в IE?