ど素人から毛を生やす。<延>

IE7だけjQueryが動かないとき

Web > javascript 2014年2月14日(最終更新:6年前)

2014年2月14日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
今や旧IEへの対応なんざやって8まで、7以下は無視。
なんて方が多いと思いますが、案件によってはそうはいかないのが悲しいところ。

IE7(あるいはそれ以下)のみでjQueryが動いてくれない事件への対策を記録してみます。
(2016.02.18事例追加につきレイアウト・文面一部変更)

末尾カンマへの不寛容ケツカンマ問題とかあだ名ついてて草)

2014.2.14

「GalleryViewを使っているがIE7だけ動かない」

外国産のjQueryですから、旧ブラウザへの対応を打ち切っていてもおかしくありませんが、調べてもそれらしい話は一切出てきません。
プログラムの競合なども考えましたが、それも違うようです。

こういうときは、プログラムがバグっていないかブラウザのコンソールでチェックです。
google chromeではエラーなし、IE10でも問題ありません。
では、肝心のIE7では…

識別子、文字列または数がありません。

出ました、エラーメッセージ。
IE7でしか表示されないあたり、今回の元凶はこれっぽい。

ここは該当スクリプトにおいてユーザーHTML部に記載する部分のようです。
カスタマイズ部なので、確かに間違いが起こるとしたらここかも…

↓動く

<script type="text/javascript">
$(document).ready(function(){
$('#photos').galleryView({
panel_width:  xxx,
panel_height: xxx,
frame_width:  xxx,
frame_height: xx
});
});
</script>

↓動かない

<script type="text/javascript">
$(document).ready(function(){
$('#photos').galleryView({
panel_width:  xxx,
panel_height: xxx,
frame_width:  xxx,
frame_height: xx,
});
});
</script>

(゜д゜)

そういえば、MYSQLの勉強してたときにこういうミスでエラー弾かれたことがあったような…

IE7だけでjQueyが動かないときは、カンマを余分に記載していないかチェックすると良いかもしれないですね。

console.logが入ってるとエラー!

2016.2.18

ページを開いた瞬間に致命的なエラー!
な場合は、プログラム作成中のconsole.logが残ってるせいかもしれません。

IE7以下ではコンソールが無い!
っぽいので、致命的なエラーとして認識されてしまうらしいです。

ひぃ(´ε` )

jQuery2系はIE9から

2016.2.18

IE8も含む話なので主題と少しズレるのですが、
jQuery2系は旧IEで動かそうとするとエラーになります。

故にjquery-1.11.1が未だ手放せぬ…

ご注意!

CSSにも致命的なバグがあるのか…

2016.2.18

overflow:hiddenの要素の子孫に、position:relativeがひとつでもあると、
hiddenされてくれないという致命的なバグがあったのでついでにメモ。

つ…つらたん…(´ε` )

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (`・ω・´) 役に立った (0)
  • (・∀・) 参考になった (4)