이러한 동작은 매우 예상 밖입니다 ![]()
여기 JavaScript가 없는 샘플 페이지가 있습니다. Chromium에서 해당 링크를 클릭하면 페이지 하단으로 이동합니다. 뒤로 버튼을 누르면 클릭하기 전 위치로 돌아옵니다. 이는 히스토리를 소비하지 않는 다른 모든 웹사이트에서 볼 수 있는 예상된 동작입니다.
<a href="#target">link</a>
<div style="height:2000px"></div>
<div id="target">Hello</div>
Discourse가 JavaScript를 통해 URL 단편(fragments)을 처리하고 해당 위치로 스크롤하므로, 히스토리가 명시적으로 push되어야 한다고 추측합니다.
@codinghorror은 이 문제에 대해 여기에서 강하고도 최종적인 의견을 표명했습니다. 표준 웹 브라우저 동작에 대한 변경 사항에 대해 이렇게 강한 의견이 나온다는 것은 놀랍습니다. 공평하게 말하자면, 저는 아직 Discourse를 고강도 토픽 탐색에 사용하지 않아서 그의 주장이 자명하다는 점을 충분히 이해하지 못하고 있습니다.
저는 Discourse를 문서화 목적으로 부분적으로 사용하고 있는데, 이 동작은 매우 방해가 심해서 링크를 클릭했다가 페이지에서 제 위치를 잃을까 봐 클릭조차 두려울 정도입니다.