ローカル URL フラグメントへの移動はブラウザの履歴を変更しない

この挙動は非常に予想外です :slight_smile:

ここに JavaScript のないサンプルページがあります。Chromium でそのリンクをクリックすると、ページの下部に移動します。戻るボタンをクリックすると、クリックした場所に戻ります。これは、この履歴を消費しない他のすべてのウェブサイトで見られる、期待される挙動です。

<a href="#target">link</a>

<div style="height:2000px"></div>

<div id="target">Hello</div>

Discourse は JavaScript で URL フラグメントを処理し、その場所にスクロールしているため、履歴を明示的にプッシュする必要があると推測します。

@codinghorrorこちら で、これについて強くかつ最終的な意見を述べています。標準的なウェブブラウザの挙動の変更に対して、これほど強い意見が表明されているのは驚きです。公平を期すために言いますが、私はまだ Discourse を本格的なトピックナビゲーションに使用していないため、彼の主張の明瞭さを十分に理解できていません。

私は ドキュメント としても Discourse を利用していますが、この挙動は非常に混乱を招くもので、リンクをクリックするとページ上の現在位置を失ってしまうのではないかと恐れています。