【JavaScript】URLフラグメントのハッシュマーク(#)もろともlocation.hashで削除する
JSでURLフラグメントを制御する際はlocation.hash
を使用するかと思うが、ハッシュ文字列を削除する場合に少し詰まった。
というのも上記のように空文字を代入するだけだと、URLにハッシュマーク(#)が残ってしまいフラグメントを丸ごと削除できない。
解決法
location.pathname
でURLフラグメント無しのパスが取得できるので、それをhistory.pushState()
する。