У меня есть страница с именем results.aspx
. Показывает список результатов поиска. У меня есть транспорт (из-за отсутствия лучшего термина) вверху и внизу каждой страницы. Один из них:
Previous 1 2 [3] 4 5 Next
Каждый из текстовых элементов в транспорте имеет ссылку, например:
<a href="results.aspx?page=4" />
Номер страницы, конечно, зависит от предполагаемого места назначения.
Моя проблема заключается в том, что, поскольку имя корневой страницы совпадает с results.aspx
, браузер всегда прокручивает на ту же позицию на вновь загруженной странице, что и на странице, с которой я только что щелкнул. Или, по крайней мере, это то, что я предполагаю, что происходит.
Я пытался создать теги типа
<a name="top">
<a id="top">
и измените мою ссылку на любую из
<a href="results.aspx?page=4#top" />
<a href="results.aspx#top?page=4" />
Безрезультатно. Я должен отметить, что это унаследованная кодовая база, поэтому в javascript могут быть неприятности, которые переопределяют поведение по умолчанию.
Есть ли очевидный способ исправить это? Если он должен работать по умолчанию, есть ли в коде что-то, что я должен искать, что я должен изменить или удалить?
- РЕДАКТИРОВАТЬ -
Вот пример сгенерированного кода, взятого из браузера:
<!-- Page Transport -->
<ul>
<li class="gray">first</li>
<li class="gray">previous</li>
<li class="current">1</li>
<li><a href="lodging/results.aspx?page=2">2</a></li>
<li><a href="lodging/results.aspx?page=3">3</a></li>
<li><a href="lodging/results.aspx?page=4">4</a></li>
<li><a href="lodging/results.aspx?page=2">next</a></li>
<li><a href="lodging/results.aspx?page=20">last</a></li>
</ul>
Да, они просто hrefs, и я не могу понять, почему браузер запомнил свою позицию на странице!
- РЕШЕНИЕ -
Оказалось, что первоначальный разработчик включил файл javascript, scrollsaver.min.js, в котором сознательно реализовано это поведение. Удаление этой ссылки устранило поведение.