サブメニュー項目のあるメニューを含むサイトを構築しています。2 つのサブメニュー項目が、1 つのページ内のアンカー タグにリンクされています。FF と Chrome では期待どおりに動作していますが、IE のどのバージョンでもアンカー タグが URL から取り除かれているため、JavaScript が失敗しています。どのアコーディオン リストを開くかを決定するためにアンカー タグを使用しています。
たとえば、私がhttp://www.sellingsickness.com/about/#organizersを持っているとします。IE はこれをhttp://www.sellingsickness.com/about/としてレンダリングします。
サイトへのリンクはhttp://www.sellingsickness.com/で、アンカーは ABOUT: 主催者および運営委員会の下にあります。
ポストネームリライトを使ったwordpressサイトです。
.htaccess には次のものがあります。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
そして私のHTML:
jQuery を使用して、アンカー タグに基づいて適切なアコーディオンを開きます。
<script type="text/javascript">
jQuery(document).ready(function($) {
var currentHref = window.location.href;
var anchorLink = currentHref.split("#");
var accId = anchorLink[1];
$("div#"+accId+"").parent().addClass('su-spoiler-open');
document.getElementById(accId).style.display = "block";
});
</script>