Хэш/якорь в URL блокирует дальнейшие обновления URL

На нашем сайте, работающем на базе Discourse, есть отдельный раздел, который ссылается на определённые заголовки через якорь (хэш) в URL: https://mysite.com/my-page#faq.

Когда пользователь переходит по такой ссылке, URL обновляется до этого значения, но при дальнейшей навигации URL больше не обновляется.

Есть ли причина, по которой хэш блокирует любые обновления URL? В настоящее время это нарушает работу нашего приложения после перехода по некоторым ссылкам, например, ‘understand.html#understand’.

Такое поведение можно наблюдать и на любом форуме, работающем на базе Discourse. Ниже приведён минимальный воспроизводимый пример:

  1. Перейдите на https://meta.discourse.org/
  2. Добавьте к URL #foo, чтобы получилось: https://meta.discourse.org/#foo
  3. Нажмите на любую тему — вы увидите, что URL не обновляется.

Заранее спасибо!

Я думаю, что это задача связана с отладкой JavaScript, и её лучше всего доверить @j.jaffeux.

Проблема в том, что наш роутер использует хеши в некоторых URL-адресах (в частности, для перехода к частям постов, и, как мне кажется, FAQ тоже это делает). Я предполагаю, что когда встречается неизвестный нам хеш, это ломает работу, хотя мы должны быть в состоянии просто игнорировать его.

@eviltrout Думаю, этого должно быть достаточно: