WEB上手トップ > JavaScript > JavaScriptメモ > mm_menu.jsがInternet Explorer 10からエラーを表示する件

JavaScript

mm_menu.jsがInternet Explorer 10からエラーを表示する件

このサイトでも使用しているのですが、プルダウンメニューを使う為に、Dreamweaverによって書き出された「mm_menu.js」が、Internet Explorer 10(IE10)で最近になってエラーを吐き出すようになりました。

それまでは特に問題なく動作しており、Google Chrome等の他のブラウザでは正常に動作していることから、Internet Explorer 10特有のエラーと絞り込まれました。「297行目でオブジェクトが存在しない」ということなので見てみると、「container.document.open("text/html");」の記述でエラーになっているようです。

調べてみると、「document.all」関係で挙動が変わってきているようなので、「Internet Explorer 10以上の場合」は「container.innerHTML=content;」を実行させるようにすることで、問題は解消しました。

→ mm_menu.jsを参照してください

まずは、IEのバージョンを取得する為の記述を入れます(15行目〜27行目)。 その後、先ほどのif文でIE10以上の場合は「container.innerHTML=content;」を実行させるというようにする為に「 || ieVer >= 10(またはIE10以上の場合)」という記述を追加します(310行目)。

これでIE10でも正常に動作するようになるかと思います!