IEで別ページへのページ内リンクが動作しないバグと戦う

別ページのページ内アンカーリンクをよく使うのですが、IE11で動作しない現象が発生しました。(納品前夜。デバッグする時間は3日だった……)
環境はWordPressです。

リンク元のindex.html

 

リンク先のsubpage/

 

基本はこれで問題がありません。
しかしIEのみうまく動作しなかったのです!!××IE××
ページのリンクは動作すれども、目的のIDに飛んでくれないのです。
飛び先のページでアドレスバーにカーソルを置いてエンターを叩くと、想定通りの動作はします。謎。

このアンカーは非常にバグが多く、様々な解決方が見受けられました。

スポンサードリンク


IE9以前でアンカーリンク(ページ内リンク)が効かない!
http://hcondo2000.blogspot.jp/2015/03/ie9.html

IEでページをまたぐアンカーリンクが効かない時の対処法 – TEDARE@仮想通貨
https://tedare.tokyo/archives/340

IEでアンカーリンクが効かない時の対処法3つ | 名古屋のホームページ制作なら株式会社SPOT
http://spot-web.jp/blog/1160/

FireFoxで他のページへのアンカーリンクが正しく動作しない時の対処 | http://design-ya.net/blog/2015/10/19/35/

上記記事を参照し、以下のようなコードになりました。
リンク元のindex.html

 

リンク先のsubpage/

 

動きません……。上記FireFoxのJSで動くかなと思ったんですが、動きません。
しまいにはID変えたり、全然別の箇所にリンク先を貼ってみたりしましたが、飛びません。

<?php wp_head(); ?>を消して、CSS,JSの効いてない状態にすると動作しました。
JSが悪さをしていると思い、functionに書かれたJSをすべて削除しても動きません。

解決

……悩むこと数時間。
front-page.phpやheader.phpに直書きしていたJSをすべてfooterに持ってきたら動きました。
はぁ、死ぬかと思った。人生の無駄遣い。もはやIEは人類を不幸にするソフトウェアだ。xxxxxxxxxxx

もう別ページへのアンカーはやめよう……。