У меня есть веб-приложение, которое извлекает и отображает записи из базы данных. Пользовательский запрос может соответствовать тысячам записей; в таких случаях для пользователя имеет смысл уточнить свой поиск.
В случае, если запрос соответствует сотням записей, пользователю, вероятно, имеет смысл просмотреть записи. Меня беспокоит то, что веб-приложение отображает «страницы» записей. В контексте веб-приложения я считаю, что пейджинг - это ужасный, ужасный способ отображения данных такого типа.
Представьте себе следующий сценарий:
Пользователь запускает запрос: приложение указывает, что имеется 20 страниц, и отображает страницу 1.
Пользователь нажимает на страницу 2, затем на страницу 3.
Пользователь понимает, что искомая запись находится на странице 2. Пользователь снова нажимает на страницу 2.
Пользователь считает, что он видел похожую запись на странице 1. Пользователь несколько раз нажимает взад и вперед между страницами 1 и 2, чтобы сравнить записи.
В веб-приложении при каждом изменении страницы требуется загрузка совершенно новой страницы. Конечный пользователь, вероятно, думает, что это просто загрузка большего количества данных, но для браузера это такая же работа, как и загрузка совершенно другой страницы. Кроме того, когда пользователь переключается между страницей 1 и 2, одни и те же данные загружаются с сервера снова и снова.
Это безумие, что с современным компьютером, оснащенным миллиардами байт памяти, мы привыкли думать, что для компьютера нормально загружать (через медленное соединение с высокой задержкой) текстовые данные, которые занимают мегабайты при самый самый.
У меня есть идея использовать JavaScript для автоматической загрузки новых записей каждый раз, когда пользователь прокручивает страницу до конца на странице записей (для пользователя не будет ссылок на пейджинг - записи будут просто загружаться как пользователь свитки). Это звучит хорошо; но один недостаток, который приходит на ум, состоит в том, что было бы трудно напечатать страницу без предварительного перехода в «дружественный к принтеру» вид.
Какие есть еще идеи по вставке приложения базы данных в веб-документ без использования громоздкой системы подкачки?