в контроллере производится следующая задача:
На все про все уходит от 1 до 5 секунд. Хотелось бы, чтобы пользователь видел прогресс. Можно ли как то показать пользователю, что именно делает программа в данную секунду? К примеру (Статус: Получаю данные | Обновляю таблицу). И если нет, то можно ли сделать какую-то заглушку на время загрузки? Типа кружок крутится вертится или еще чего. Но в идеале бы знать, что именно происходит.
Проще всего разделить прогресс бар на куски по 25% (100/4). Перед началом какой-то задачи мы говорим об этом пользователю и показываем процент.
function manage_preloader(data) {
console.log(data.action, data.done + '%');
// по идее data.done меняет width прогресс бара
// с data.action понятно
}
function progress() {
manage_preloader({
action: 'Выполняю цикл',
done: 25;
});
for () {...};
manage_preloader({
action: 'Цикл завершен, отправляю запрос к серверу.',
done: 50;
});
$.ajax(...);
manage_preloader({
action: 'Сервер прислал данные, работаю с DOM.',
done: 75;
});
$('div').css(...);
manage_preloader({
action: 'Работа с DOM заершена успешно.',
done: 100;
});
}
В целом логика, я думаю, ясна. Рад, если чем-то помог.
как вариант сделать через setinterval
а при получении данных использовать redis - туда прогресс пихать - и на setinterval получать процент
Это самый простой способ - если более сложней - то можно через веб сокеты - когда серверная часть посылает данные в клиент через открытый веб сокет
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Знаю, что можно подключить jquery на сайт, но можно ли работать с ним из консоли(например, подключить его из консоли и кликнуть по элементу)?
Что я сделал не так? Я учусь HTML на сайтеТам мне дали задание и я его должен выполнить
У меня возникла проблема переноса скрипта в scriptjs