1

サブメニュー項目のあるメニューを含むサイトを構築しています。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>
4

0 に答える 0