jQuery Событие отрисовки страницы

Есть ли событие полной загрузки и отрисовки страницы в js или jquery? Если нет, то какие способы используете (первое событие, библиотечки какие и т.д.)?

1 ответов


Вы ведь знаете про стандартный подход в jquery?

$(document).ready(function() {
/*ваш код*/
}Этот блок начнет работать после загрузки jquey и построения DOM дерева, до отрисовки страницы. Вам именно отрисовка страницы нужна?

В стандарте HTML5 было добавлено можество событий, но даже среди них нет события отрисовки страницы.

Из наиболее близкого, есть старое событие onload, которое срабатывает после полной загрузки страницы (со всеми скриптами и картинками). Рендер страницы занимает какие-то доли секунды, так что это почти одно и то же. Применяется как правило внутри тега body:
<html>
<body onload="javascript:/*ваш код*/">
</body>
</html>
Наконец, можно разместить скрипт прямо внутри разметки в разделе body, поближе к концу страницы.
<html>
<body>
<h1>Test</h1>
<script type="text/javascript">
/*ваш код*/
</script>
</body>
</html>Так код сработает после onload, но когда именно я затрудняюсь сказать.

Для ожидания подгрузки всей страницы:
http://api.jquery.com/ready/

$( document ).ready(function() {
  // Handler for .ready() called.
});
$(function() {
  // Handler for .ready() called.
});
jQuery( document ).ready(function( $ ) {
  // Code using $ as usual goes here.
});

Для ожидания подкгрузки всех ajax:
http://api.jquery.com/ajaxcomplete/
$( document ).ajaxComplete(function() {
  // ur code
});