“Ленивая загрузка” информации из базы данных на страницу PHP в процедурном

StackOverflow https://stackoverflow.com/questions/5982972

Вопрос

Я знаю, что правильная отложенная загрузка обычно требует использования объектов и шаблона прокси-сервера.Я еще не там, так как сайт нуждается в некотором редизайне.Однако есть ли какой-нибудь способ, которым я все еще могу перенести данные базы данных на страницу и немного ускорить время загрузки?

Это было полезно?

Решение

Этого можно достичь с помощью AJAX.

Когда вы впервые загружаете страницу, разместите плейсхолдеры там, где предполагается размещать объемный контент.Например, используйте div с отличительным стилем и анимированным изображением загрузки внутри, чтобы посетители могли четко определить, что происходит еще какая-то загрузка.Вы можете генерировать привычно выглядящие изображения, загружаемые с помощью AJAX, по адресу ajaxload.info.

У вас есть какой-нибудь скрипт внизу вашей страницы, который вызывает или привязывает необходимые функции для загрузки дополнительного контента с помощью AJAX.Вы могли бы привязать вызов AJAX к jQuery .ready() например, чтобы загрузка началась, как только остальная часть документа будет готова, или .scroll() запускается, когда пользователь прокручивает определенный элемент (напримермимо определенных "ориентиров" на вашей странице, которые разделяют блоки контента).

Когда вы получите AJAX-ответ, содержащий дополнительное содержимое (предпочтительно предварительно отформатированное как HTML в строковой форме), замените содержимое заполнителя div с ответом AJAX с использованием .innerHTML = или jQuery-ы .html().Измените стиль изображения div при необходимости используя setAttribute("class","newClass") или jQuery-ы .attr("class","value") чтобы заменить его класс CSS.

Посетитель сможет видеть вашу страницу полностью и прокручивать ее во время загрузки.Дополнительный контент появится, когда он будет готов, не прерывая работу посетителя.Вы можете сделать это немного приятнее для глаз, анимировав переходы после ввода содержимого.

Если вам нужны дополнительные примеры того, как использовать AJAX для асинхронной выборки контента, взгляните на эти для классического подхода JavaScript или Документы jQuery .ajax().

Другие советы

Вы можете использовать JavaScript для загрузки дополнительных данных, как только главная страница нагрузки.Таким образом, ваша главная страница может просто изложить компоненты на странице, представленные «Spinners», указывающие, что загружаются дополнительные данные, а затем разгрузить его в JavaScript, чтобы получить больше данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top