JS властивість Document.readyState


Загальний опис

Властивість readyState об'єкта Document в JavaScript надає інформацію про поточний стан завантаження документа. Ця властивість допомагає розробникам контролювати процес завантаження сторінки і виконувати відповідні дії в залежності від її стану. Основна суть readyState полягає в тому, щоб забезпечити можливість програмно перевіряти, чи завершено завантаження документа, чи все ще триває процес, а також чи виникли певні помилки або проблеми під час завантаження.

Основне застосування readyState полягає у керуванні виконанням скриптів, які пов'язані зі завантаженням документа, виконанням асинхронних запитів або взаємодією з DOM-елементами. Завдяки цій властивості розробники можуть запускати функції або виконувати інші дії тільки після того, як документ буде повністю завантажений.

Простий приклад

if (document.readyState === 'loading') {
    console.log('Документ ще завантажується...');
} else {
    console.log('Документ завантажено.');
}

У цьому прикладі виводиться повідомлення, яке вказує на те, чи документ ще завантажується чи вже завантажено. Це дозволяє виконувати певні дії, тільки коли документ готовий для маніпуляцій.

Використання разом з подіями

document.addEventListener('readystatechange', function() {
    if (document.readyState === 'complete') {
        console.log('Документ завантажено і готовий для використання.');
    }
});

У цьому прикладі додається обробник події, який викликається, коли змінюється readyState. Коли readyState стає рівним 'complete', виводиться повідомлення про те, що документ повністю завантажено.

автор: Bond

Порада

readyState може приймати два основні значення: loading, яке означає, що документ все ще завантажується, та "complete", яке вказує на те, що документ було повністю завантажено. Використання цієї властивості дозволяє реалізувати логіку, яка залежить від стану завантаження сторінки.

автор: Bond
Порада

Для виконання скриптів після повного завантаження документа, рекомендується використовувати перевірку readyState у комбінації з подією DOMContentLoaded. Це забезпечує, що ваш код виконається відразу після завантаження HTML, але перед завантаженням зовнішніх ресурсів, таких як зображення.

автор: Bond
Порада

У сценаріях, коли потрібно забезпечити взаємодію з елементами, які можуть бути додані до документа динамічно, важливо регулярно перевіряти readyState. Це допоможе уникнути ситуацій, коли скрипт намагається отримати доступ до елементів, які ще не були повністю завантажені або ініціалізовані.

автор: Bond

Синтаксис

Document.readyState

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 3.6 1 11 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому простому прикладі ми використовуємо властивість Document.readyState для перевірки, чи повністю завантажений документ. Це особливо корисно, коли потрібно виконати JavaScript-код відразу після завантаження сторінки, але перед завантаженням зображень або інших зовнішніх ресурсів.

document.addEventListener("DOMContentLoaded", function() {
  if (document.readyState === "complete") {
    console.log("Документ повністю завантажений і готовий до використання.");
  }
});
автор: Bond

У цьому складнішому прикладі ми використовуємо Document.readyState для визначення, коли документ перебуває у стані interactive, що означає, що DOM повністю завантажений і доступний для маніпуляцій, навіть якщо зовнішні ресурси, такі як зображення, можуть ще завантажуватися.

function addDynamicContent() {
  var newElement = document.createElement("p");
  newElement.textContent = "Це динамічно доданий контент.";
  document.body.appendChild(newElement);
}

if (document.readyState === "interactive" || document.readyState === "complete") {
  addDynamicContent();
} else {
  document.addEventListener("DOMContentLoaded", addDynamicContent);
}
автор: Bond

У цьому прикладі кнопка "Перевірити стан документа" дозволяє користувачу в будь-який момент отримати поточний стан завантаження документа. При натисканні на кнопку, обробник подій зчитує властивість Document.readyState і виводить її значення в параграф #stateResult.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід