2013-10-25 4 views
0

У меня есть большая страница с большой таблицей HTML. В Internet Explorer для отображения содержимого требуется много времени: возможно, 10-15 секунд для рендеринга. Есть ли способ с JavaScript или что-то еще, чтобы определить, когда страница начинает визуализироваться и когда она полностью выполняется?Как найти, сколько времени требуется для рендеринга HTML-страницы?

Примечание: Я хочу использовать JavaScript для отображения значения на странице.

+0

проверить это ** [ссылка] (HTTP: // stackoverflow.com/questions/2516665/how-can-i-monitor-the-rendering-time-in-a-browser)** – super

+2

Какую версию IE вы тестируете и как она сравнивается с недавним IE10 +/FF/Chrome? –

+0

Вы можете найти некоторые рекомендации, как уменьшить время рендеринга из [этого SO-ответа] (http://stackoverflow.com/a/18272010/1169519). Обратите внимание также на связанный jsFiddle в потоке комментариев. – Teemu

ответ

1

enter image description here Хорошо, я собирался сказать, что сетевой водопад в инструментах F12, вот скриншот этой страницы. Зеленая строка указывает, когда рендер сделан, и пользователь может начать взаимодействие.

Но вы хотите сделать это в JavaScript. Так что это займет немного усилий, но здесь. Перейдите на консоль и выполните performance.timing. Это даст вам объект с большим количеством временных значений. Это значения тика, и вам нужно будет сравнить их, чтобы получить фактические миллисекундные дельта. Ниже приведен пример вывода этой страницы.

{ 
    [functions]: , 
    __proto__: { }, 
    connectEnd: 1382671634858, 
    connectStart: 1382671634858, 
    constructor: { }, 
    domainLookupEnd: 1382671634858, 
    domainLookupStart: 1382671634858, 
    domComplete: 1382671635972, 
    domContentLoadedEventEnd: 1382671635377, 
    domContentLoadedEventStart: 1382671635198, 
    domInteractive: 1382671635198, 
    domLoading: 1382671634929, 
    fetchStart: 1382671634858, 
    loadEventEnd: 1382671635974, 
    loadEventStart: 1382671635973, 
    msFirstPaint: 1382671635631, 
    navigationStart: 1382671634796, 
    redirectEnd: 0, 
    redirectStart: 0, 
    requestStart: 1382671634929, 
    responseEnd: 1382671634929, 
    responseStart: 1382671634929, 
    unloadEventEnd: 1382671634796, 
    unloadEventStart: 1382671634796 
} 
+0

спасибо Кристиан Я никогда не могу правильно кодировать код здесь LOL –

0

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

+0

OP сказал ** Internet Explorer **. –

+0

+1 - ничего плохого в использовании инструментов разработчика FF/Chrome - если проблема с медленными загрузками будет легко видна. Также большое количество проблем с JavaScript будет отображаться во всех браузерах более или менее одинаково. –

+0

Я предположил, что вопрос был сформулирован, это была проблема, связанная с IE, но, возможно, нет. –

4

Если вы используете последнюю версию Internet Explorer, вы можете использовать Javascript NavTiming API, как описано для IE в this MSDN article. Это позволит вам просматривать данные синхронизации страниц с помощью Javascript и отображать их.

Или вы можете использовать IE Developer Toolbar надстройка.

+0

+1 ... Также может быть достаточно обычного профайлера, если он действительно JavaScript - доступен с IE9. –

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