先日もももりもりとJSを書いていたのですが、IEでチェックしてみたところ、IE7(IE8のIE7モード)にて、タイトルにもある
識別子、文字列または数がありません。
というエラーに遭遇しました。
コードにゴミが残っていた
調べてみたところ、オブジェクトリテラル(jQuery発火させるときにオプションを設定する時などに書く、{foo:1,bar:0}みたいなやつ)の一番最後に不要な「,」が入っていたからでした。
1 2 3 4 5 6 7 |
$('.fancybox').fancybox({ openEffect:'elastic', closeEffect:'elastic', nextEffect:'fade', prevEffect:'fade', maxHeight:'80%', }); |
この例だと最後から2番めの行、
maxHeight:’80%’,
この最後の「,」が残っていたのが原因でして、これを削除してあげたら正常に動作するようになりました。
他のブラウザ(ChromeとかFirefoxとか)ではこのように余計なカンマが付いていても許容してしまうそうで、自分は主にMacで作業を行い、チェック時だけWindowsにデータをもっていって確認するという流れなので、コーディング中Chromeでチェックしていた時にはなにも起こらなかったもんですから全然気づきませんでした…。
因みにIE8標準モードでは大丈夫でした。IE9以降は、チェック用PCがXPなもんでわかりません。
コメントする