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

IE7だけjQueryが動かないとき

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

このページは2014.2.14に作成されています。時代の流れとそぐわない可能性があったり、僕が今以上のど素人だった頃の記事だったりするので、新しい記事を探してみるのも良いかもしれません。

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

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

末尾カンマへの不寛容

2014.2.14

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

外国産のjQueryですから、旧ブラウザへの対応を打ち切っていてもおかしくありませんが、調べてもそれらしい話は一切出てきません。

プログラムの競合なども考えましたが、それも違うようです。

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

h260214

出ました、エラーメッセージ。
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)