Что означает время domContentLoaded в веб-тестировании?

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

</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 и что это означает с точки зрения увеличения производительности, например, воспринимаемой производительности. Чувствуют ли пользователи, что страница загружается быстрее?

2 ответа

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

domContentLoaded в веб-странице испытаний является 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);
Другие вопросы по тегам