サイトアイコン WEB帳

Firefox(ファイアーフォックス)のアンカーリンク不具合の対処方法

Firefoxのブラウザの場合、アンカーリンクのずれや3つ目、4つ目以降のアンカーリンクに移動するとページの最下部に移動するなどの現象がありました。

色々と調べた結果下記のコードに至りました。

簡単に説明すると、AページからBページ#anchor1 に移動するのではなく、AページからBページそして#anchor1 に移動するといった仕様です。

コードの4行目のif文は、アンカーリンクがない場合にページが正常にスクロールできない現象が発生することを防ぐために記述しました。

設置場所は、対象のページの body 直前に記述すれば問題ありませんでした。

javascriptコード

<script>
	function(){
		var urlHash = location.hash;
		if(urlHash){
			$(window).load(function (){
				if(top.location.href.match(urlHash)){ top.location.href = urlHash }
			});
		}
	}
</script>

【参考Webサイト】

モバイルバージョンを終了