Как я могу контролировать время рендеринга в браузере?

Я работаю над внутренней корпоративной системой, которая имеет веб-фронтенд с помощью Tomcat.

  1. Как я могу контролировать время рендеринга определенных страниц в браузере (IE6)?
  2. Я хотел бы смочь записать результаты в файле журнала (отдельный файл журнала или журнал доступа Tomcat).

Править: Идеально, я должен контролировать рендеринг на клиентах, получающих доступ к страницам.

7
задан surfmuggle 3 December 2017 в 10:31
поделиться

5 ответов

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

  1. Записывать текущее системное время в переменную JS (если вам повезет, время может примерно соответствовать времени начала рендеринга страницы).
  2. Прикрепите JS-функцию к событию onLoad страницы. Затем эта функция снова запросит текущее системное время, вычтет время начала из шага 1 и отправит его на сервер вместе с местоположением страницы (или некоторым уникальным идентификатором, который вы можете динамически вставить во встроенный скрипт на вашем сервере).
<script language="JavaScript">
var renderStart = new Date().getTime();
window.onload=function() { 
   var elapsed = new Date().getTime()-renderStart;
   // send the info to the server 
   alert('Rendered in ' + elapsed + 'ms'); 
} 

</script>

... usual HTML starts here ...

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

7
ответ дан 6 December 2019 в 14:02
поделиться

Взгляните на Selenium - они предлагают пульт дистанционного управления, который может автоматически запускать различные браузеры (например, IE6), загружать страницы, проверять наличие определенного контента на странице. В конце создаются отчеты, которые также показывают время отрисовки.

0
ответ дан 6 December 2019 в 14:02
поделиться

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

Что касается IE, вы можете подумать о написании плагина. Похоже, что на рынке мало таких инструментов. Может, ты его продашь.

0
ответ дан 6 December 2019 в 14:02
поделиться

В Firefox вы можете использовать Firebug для мониторинга времени загрузки. С помощью плагина YSlow вы можете даже получить рекомендации по улучшению производительности.

0
ответ дан 6 December 2019 в 14:02
поделиться

Что касается неинвазивных методов, Hammerhead измеряет время полной загрузки (включая выполнение JavaScript), хотя и только в Firefox.

Я видел полезные результаты, когда фрагмент JavaScript можно было добавить глобально для измерения начала и конца каждой операции загрузки страницы.

0
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: