Это не реальный вопрос с кодировкой, а скорее утверждение реального мира.
Я ранее отметил, что DOMReady
события медленные, очень медленные. Итак, я заметил, что при просмотре источника jQuery событие jQuery domeready может запускаться с помощью $.ready()
. Затем я подумал, что это простое выполнение script перед закрытием тела должно запускать все прослушиватели "onDomReady", которые были прикреплены к предыдущему. И да, это работает так, как ожидалось:
<script>$.ready()</script>
</body>
Вот два примера: это измеряет мс, потраченный во время ожидания DOMReady:
Как вы можете видеть, триггер DOMReady очень медленный, пользователь должен ждать целое 200-300 миллисекунд до того, как начнется
В любом случае, если мы поместим $.ready()
непосредственно перед закрытием тега BODY
, получим следующее:
Посмотрите разницу? При запуске вручную вручную мы можем отключить 100-300 мс задержки выполнения. Это серьезная сделка, потому что мы можем полагаться на jQuery, чтобы позаботиться о манипуляциях с DOM, прежде чем мы их увидим.
Теперь, к вопросу, я никогда не видел, чтобы это было рекомендовано или обсуждалось раньше, но все же это похоже на серьезную проблему с производительностью. Все дело в оптимизации самого кода, что, конечно, хорошо, но напрасно, если выполнение задерживается на такое долгое время, когда пользователь видит "вспышку" unjQueryedContent ".
Любые идеи, почему это не обсуждается/рекомендуется чаще?