2015-07-30 3 views
0

Я читал много о jQuery.ready(), что замедлит вашу страницу. На моем веб-сайте есть куча кода, работающего внутри jQuery.ready(), как это делают многие веб-сайты.Что означает значение domContentLoaded в webpagetest?

</body> 
<script> 
    jQuery(document).ready(function() { 
     // Do some event binding and initialization. 
    }); 
</script> 

Я помещаю этот сценарий в конце <body> тега, но я завернул код внутри DOM ready просто, чтобы быть безопасным.

Теперь я проверить мою страницу с http://www.webpagetest.org/, и я заметил, что domContentLoaded время выглядит следующим образом:

domContentLoaded 
4.987s - 5.317s (0.330s) 

Теперь я экспериментировал, удаляя jQuery.ready(function() {}); быть просто

</body> 
<script> 
// Do some event binding and initialization. 
</script> 

И я проверить страницу еще раз. Вот результат.

domContentLoaded 
3.772s - 3.915s (0.143s) 

Выполнение составляет всего 0,1 с, что составляет около ~187ms. Правильно ли я предполагаю, что время выполнения сокращается, потому что код не выполняется внутри jQuery.ready и что это означает с точки зрения повышения производительности, например, воспринимаемой производительности. Чувствуют ли пользователи, что страница загружается быстрее?

+0

вы очистить кэш браузера между тесты? – user2182349

+0

Да, я нажал кнопку clear cache на webpagetest. – toy

ответ

1

не является domContentLoaded то же событие, захваченное $ .ready? Если таймер webpagetest занимает больше времени, когда главный скрипт работает на $ .ready, это может указывать на то, что больше потоков конкурирует за ресурсы в то время. это имеет смысл, что позволяет любой установки и инициализации, который может работать до этого события, чтобы сделать это будет сделать все настройки, что происходит в документе готовы работать гладко ...

+0

Это то же самое событие, которое я надеялся выяснить, поможет ли сокращение времени помочь воспринимаемой производительности – toy

0

DOMContentLoaded в WebPagetest является document.ready в JQuery

огонь код на OnLoad событие для повышения производительности

if("undefined"==typeof(addOnload)){function addOnload(a){if("undefined"!=typeof(window.attachEvent)){return window.attachEvent("onload",a)}else{if(window.addEventListener){return window.addEventListener("load",a,false)}}};} 

называют вашу функцию OnLoad событие

addOnload(fnName);