空文字列のリンク

a要素のhref属性で空文字列を指定した時の挙動はその文書の再読み込みになると思っていた。けど、どうもInternet Explorer 10(やもっと古いバージョン)では./と同じになるようだ。確実にそのものを再読み込みするためには明示的にその文書自身のURLを指定するしかなさそう。

Demo: Empty href Value

Chrome 29やFirefox 24では再読み込みになる。この挙動が便利でたまにどうでも良いページで使っていたけど、Internet Explorer 10では./になりディレクトリの参照とかになるのは知らなかった。空文字列だった場合のURL解決方法はrelative stateでいきなりEOF code pointが来たケースだと思うので、Internet Explorer 10のバグのような感じだ。

URL Standardsに従うとbase要素と組み合わせた場合は再読み込みにはならないとかもあるので、僕みたいに空文字列で再読み込みみたいな斬新な覚え方してるとハマる。