🧊

URLから#(ハッシュ)をはずしてリロードさせたい時

またiOSがやらかしたぞ!

// これと
location.replace(location.pathname + location.search);
// これのどちらかと
location.href = location.pathname + location.search;

// これでは、動作が違う
location.hash = '';
location.reload();

前者では、単にlocation.hashを空にするだけの挙動になる。
Safariではページの再読み込みが発生するが、なぜかChromeでは発生しない。

後者だと、明示的にリロードしてるのでページがちゃんとリロードされるので、
リロードさせたい場合はこうすべし。

これってどういう仕様なの・・?