Ответ 1
Используйте AJAX с таймером. Используя это, мы можем обновить конкретную часть страницы.
У меня есть веб-страница, которая позволяет пользователю выполнять различные операции, которые, в свою очередь, изменяют базу данных. Кроме того, этому веб-приложению необходимо отслеживать различные поля в базе данных, которые со временем меняются. Является ли обновление страницы каждые несколько секунд наилучшим способом реализации этого? Например, если на странице требуется длинный список, требующий прокрутки, трудно просмотреть список, так как страница сохраняет сброс из-за обновления. Я знаю, есть способы сохранить положение свитка. Но могу ли я использовать что-то более эффективное?
Используйте AJAX с таймером. Используя это, мы можем обновить конкретную часть страницы.
Поместите его под заголовком
<meta http-equiv="refresh" content="5">
Это обновит страницу каждые 5 секунд.
Для других опций обратитесь текст ссылки
Эта задача очень проста в использовании следующего кода в разделе заголовка html
<head> <meta http-equiv="refresh" content="30" /> </head>
Он обновит вашу страницу через 30 секунд.
Короткий ответ НЕТ. Вы можете использовать ajax для обновления необходимых компонентов. Это уменьшает время загрузки и препятствует сбросу страницы.
Думаю, вам нужно что-то похожее на Reverse AJAX, которое теперь широко известно как Comet. Это сервер, который передает данные клиенту, а не браузер, опросив данные с сервера/базы данных. http://en.wikipedia.org/wiki/Comet_(programming) имеет хорошее представление. Уже существует множество фреймворков (например, DWR, ICEFaces), которые поддерживают этот шаблон.
AJAX с таймером
Не вдаваясь в подробности, в общем, вам может потребоваться динамическое создание HTML-кода с использованием Javascript в стиле Ajax. Намного сложнее делать все правильно, но это правильный способ перейти с точки зрения пользователей.
Ознакомьтесь с библиотекой пользовательского интерфейса Yahoo для руководства и помощи - это делает вещи намного проще, чем пытаться сделать все вручную.
Это похоже на функциональность, которая лучше всего подходит для приложения Flash или Silverlight. Использование сложного решения AJAX может быть немного более эффективным, чем ваше, но реальность такова, что веб-страницы создают ужасную среду для живого контента.
Я думаю, что следующее хорошее решение с командой refresh в заголовке.
Когда вы вызываете функцию httpSuccess, попробуйте использовать это:
server.httpSuccess("text/html","Refresh: 30\r\n");
если вы хотите автообновить всю страницу, используйте тег meta html в заголовке страницы. Но лучше авторешить указанную часть страницы с помощью AJAX, чтобы избежать эластичности времени загрузки.
Ajax справился бы с задачей, я наткнулся на этот фрагмент горячей перезагрузки в PLAIN JavaScript http://www.abrandao.com/2019/04/web-page-hot-reload-in-plain-javascript-php/
Похоже, что этот проверяет изменения файла, но, вероятно, может быть изменен, чтобы проверить наличие изменений на странице, а затем он говорит браузеру перезагрузить страницу