Функция $.holdReady()
Определение и применение
Функция $.holdReady() задерживает выполнение обработчиков готовности jQuery. В старых загрузчиках её
использовали, когда перед инициализацией интерфейса нужно было дождаться дополнительной настройки или скрипта.
Синтаксис
$.holdReady(true);
// После завершения подготовки:
$.holdReady(false);Параметры и возвращаемое значение
Аргумент true добавляет одну задержку, false снимает одну. Каждому удержанию должен
соответствовать вызов освобождения. Результат — undefined. Удержание устанавливают сразу после
подключения jQuery, до выполнения обработчиков готовности.
Функция не останавливает разбор HTML и не задерживает браузерное событие DOMContentLoaded. Она действует
на готовность jQuery во всём документе. После того как готовность уже обработана, создать новую фазу ожидания таким
способом нельзя.
Особенности и совместимость
API устарел с 3.2, но доступен в полной 4.0. Вместо глобального удержания ожидайте конкретные зависимости:
Promise.all([Promise.resolve($.ready), preparation]). Это не задерживает независимые обработчики других
компонентов.
В старом коде снимайте удержание и при ошибке подготовки, иначе интерфейс может не инициализироваться. Пример устанавливает задержку синхронно, пока документ примера ещё разбирается.
Документация
Пример старого кода
Задержка и освобождение: попробуйте сами
Сначала завершится подготовка, затем выполнится зарегистрированный обработчик готовности. Используется jQuery 4.0.0.
index.html
<pre id="result"></pre>
main.js
$.holdReady(true)
$(function () {
$('#result').append('DOM разрешён')
})
setTimeout(function () {
$('#result').append('Подготовка завершена → ')
$.holdReady(false)
}, 100)
Нажмите , чтобы запустить пример.