先日実際の案件で少しだけハマってしまい、Google先生があまり情報を持っていなかったようなのでメモ的に投稿。

基本的にはマイクロソフトのサポートポリシーの変更により、IE9のサポートもVistaまでとなるので、対応も徐々になくなってくるとは思いますが、企業相手だとなかなかそうは行かないことも多いと思います。
※IE9になっただけマシですが・・・

IE9でのアンカーリンクの問題とは何か

ページ内リンクを設定するとき、sectionや見出しにidを付与し、リンク設定時に「#id」を付与する形かと思います。
例えば「/hogehoge/#link」でページ内の該当箇所へジャンプできると思います。

しかし、/hogehoge/ページから、/hogehoge_2/のページの、ページ中の見出しに飛ばしたいという時に問題がおきました。

/hogehoge/ページで「/hogehoge_2/#link」と設定した時に、Chrome、FireFox、IE11では問題無いのに、IE9ではジャンプしてくれません。

IE9でのアンカーリンクの対処法

解決方法は簡単でした。

「/hogehoge_2/#link」ではなく、「/hogehoge_2/index.html#link」にするだけです。

ページをまたぐページ内リンクに関しては、index.htmlを省略しちゃ駄目みたいですね・・・

これはガイドラインでリンク方法を厳密にして、「ディレクトリのトップは「/hogehoge/」でindex.htmlは省略してもよい」等と書いてしまっていたので、方向転換がそれはもう大変でした^^;

同じ問題にあたった人の解決になれば!

ちなみに/hogehoge/index.htmlへのリンクはみなさんどうしていますか?

最近私はディレクトリのトップはindex.htmlを省く形にしていたので、これはそもそも問題ありってことなんですかね?

それではノシ