/t/XYZ#anchor не работает на странице XYZ

Привет! Есть проблема: если пост ссылается на сам себя через короткую ссылку с якорем (/t/id#anchor) и на эту ссылку кликают на той же странице, происходит переход в начало страницы, а не к якорю.

Это проще показать на примере:

Заголовок 1

  1. #header-1 работает при переключении в этой теме
  2. https://meta.discourse.org/t/t-xyz-anchor-doesnt-work-when-on-the-page-xyz/225101#header-1-1 работает при переключении в этой теме и цитировании
  3. https://meta.discourse.org/t/a/225101#header-1-1 работает при переключении в этой теме и цитировании
  4. https://meta.discourse.org/t/225101#header-1-1 работает при переключении не в этой теме
  5. /t/t-xyz-anchor-doesnt-work-when-on-the-page-xyz/225101#header-1-1 работает при переключении в этой теме и цитировании
  6. /t/a/225101#header-1-1 работает при переключении в этой теме и цитировании
  7. /t/225101#header-1-1 работает при переключении не в этой теме

Также я заметил ещё две проблемы. Все ссылки, кроме первой, перезагружают страницу. Ссылки 2, 3, 5 и 6 работают, но якорь в URL исчезает через короткое время.


Моя первоначальная проблема заключалась в том, что при цитировании поста, содержащего ссылку только с якорем (ссылку на другой раздел той же страницы), якорь становился относительным текущей странице, а не странице цитаты. Если процитировать семь ссылок, первая ссылка приведёт к ТЕКУЩАЯ_СТРАНИЦА#header-1.

Я попробовал решение из этого отчёта об ошибке (прикреплено ниже). Оно правильно ссылалось на страницу, однако якорь не учитывался.

1 лайк

У меня это происходит и с вариантом #anchor. Страница не всегда перезагружается. Возможно, только если нажать на такие якоря в первый раз после загрузки темы. К сожалению, я не могу дать точные шаги для воспроизведения.

И под «перезагрузкой» я имею в виду не обновление вкладки браузера. Я имею в виду перезагрузку «веб-приложения»: в верхней части области просмотра появляется полоса прогресса.