Бывают случаи, когда что-то загружается, и пользователю приходится ждать. Часто это вообще не показывается пользователю. Обычно, когда десктопное приложение занято, у пользователя появляется небольшое сообщение об этом — ожидающий курсор:
Не существует определенного атрибута window.isLoading. Таким образом, мы можем определить его самостоятельно:
window.isLoading = true;
window.addEventListener('load', (event) => {
window.isLoading = false;
});
Чтобы показать это пользователю, мы можем использовать ожидающий курсор на веб-странице:
// CSS body.loading, body.loading * { cursor: progress !important; } // JS window.setLoadingFlag = function () { window.isLoading = true; document.body.className += ' loading'; }; window.removeLoadingFlag = function () { window.isLoading = false document.body.className -= ' loading'; };
«body.loading *» — используется для переопределения курсора на кнопках, ссылках и т.д.
Рабочий пример: https://codepen.io/m0ksem/pen/qBBLgqW
Также можно использовать некоторый div с фиксированной позицией, чтобы пользователь не мог взаимодействовать со страницей.
VueJS
Мы можем установить isLoading для хранения vuex и показать компоненты vuejs с «состоянием заполнителя».