Какой лучший способ отображения навигации по страницам для многих, многих страниц?
(Первоначально это было опубликовано как подсказка с ответом, включенным в вопрос. Теперь я отделил свой ответ в разделе "ответы" ниже).
Более конкретно:
Предположим, вы показываете пользователю набор записей, разбитых на страницы фиксированного размера (например, результаты поиска Google). Если есть только несколько страниц, вы можете отобразить область навигации по страницам в конце результатов, которые могут выглядеть так:
[< ] [<] 1 2 3 4 5 6 7 8 9 10 11 12 13 [ > ] [ → ]
Но это быстро становится непередаваемым, если есть более 20 или 30 страниц результатов.
Иногда вы увидите следующее:
[< ] [<]... 665 666 667 668 669 670 671 672 673... [ > ] [ → ]
или это:
[< ] [<] 1 2 3... 667 668 669 670 671... 845 846 847 [ > ] [ → ]
но в обоих случаях для навигации в любом месте середины разделов "..." потребуется много, много мышц. Иногда предоставляется поле ввода для ввода номера страницы; в противном случае (предполагая, что мы говорим о веб-странице здесь) опытный пользователь, скорее всего, посмотрит URL-адрес, чтобы узнать, могут ли они редактировать его напрямую.
Что было бы неплохо, если бы отображался список страниц, который позволяет пользователю дойти до любой страницы всего за несколько музекликов, не имея смехотворно много ссылок.
Как это было бы лучше всего достигнуто?