Здравствуйте!
Перезапускаю страницу с помощью динамического добавления тега
В этом случае страница просто перезапускается, а именно сначала полностью очищается, а только потом загружает контент.
Но вот вопрос, можно ли как-то обработать поведение этого тега , чтобы он не очищал страницу при перезагрузке, а только заменял контент страницы. То есть сделать так, чтобы не было этого момента с полностью пустой страницей. Возможно, это можно сделать на JS? Искал в интернете, но ничего подобного не нашёл, своего решения тоже придумать не могу.
Если такое сделать невозможно, может быть существуют другие варианты обновления страницы путём динамического добавления на странице? То есть что-то добавить на странице тем же AJAX запросом, чтобы страница была перезагружена так, как я описал выше. Просто добавить не срабатывает, если его просто добавить.
В общем, я наверное уже как-то сильно загнул вопрос, но ещё раз вкратце подведу итог.
Как можно обновить страницу так, чтобы она не очищалась, а сразу заменяла старую на новую, чтобы этап "пустоты" страницы был незаметен?
создаешь новый элемент поверх старого и делаешь его изначально скрытым
заполняешь его контентом
включаешь его и удаляешь старый элемент
//сначала создаешь элемент и добавляешь его в документ поверх старого элемента
элемент.style.display = 'none'
элемент.innerHTML = 'тут html текст'
setTimeout(function(){
{
элемент.style.display = 'flex'
}, 100)
RainoYT, сервер передает клиенту содержимое элемента который надо отобразить
эту строку ты вставляешь в элемент.innerHTML
после этого начинается отрисовка этого элемента
и через небольшой таймаут скрипт делает элемент видимым
RainoYT, тут я предложил вариант с таймаутом
это может быть не лучший вариант если обьем данных большой
но может быть можно сделать включение через событие загрузки элемента
надо подумать ...
Поскольку элементы img, добавленные через innerHTML, вызывают событие onload, вы можете добавить крошечное изображение в конец исходного кода, вставленного в innerHTML, а в событии onload вы можете вызвать функцию. Также вы можете удалить изображение там.