DOMContentLoaded и Load полезны для этой цели ( link )
DOMContentLoaded - браузер полностью загружен HTML, а дерево DOM встроенные, но внешние ресурсы, такие как изображения и таблицы стилей, могут быть еще не загружены.
load - загружается не только HTML, но и все внешние ресурсы: изображения, стили и т. Д. c.
Load следует использовать только для обнаружения полностью загруженная страница Распространенной ошибкой является использование load, когда DOMContentLoaded будет более подходящим.
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
});
//===================
window.onload = function() {
// same as window.addEventListener('load', (event) => {
alert('Page loaded');
// image is loaded at this time
alert(`Image size: ${img.offsetWidth}x${img.offsetHeight}`);
};
По вашему вопросу вы хотите проверить после отправки формы. Поэтому, когда форма отправляется, окно перезагружается и вся do c перезагружается.
Также вы можете использовать document.readyState , чтобы проверить, загружены документы полностью или нет.
Свойство document.readyState Может использоваться для проверки готовности документа. От MDN:
Значения ReadyState документа может быть одним из следующих:
loading - Документ все еще загружается. интерактивный - документ завершил загрузку, и документ был проанализирован, но подресурсы, такие как изображения, таблицы стилей и фреймы, все еще загружаются. complete - документ и все подресурсы завершили загрузку. Состояние указывает, что событие загрузки вот-вот сработает.
Вы можете использовать следующий код.
if(document.readyState === "complete") {
// Fully loaded!
}
else if(document.readyState === "interactive") {
// DOM ready! Images, frames, and other subresources are still
downloading.
}
else {
// Loading still in progress.
// To wait for it to complete, add "DOMContentLoaded" or "load"
listeners.
window.addEventListener("DOMContentLoaded", () => {
// DOM ready! Images, frames, and other subresources are still
downloading.
});
window.addEventListener("load", () => {
// Fully loaded!
});
}