MACH3

MACH3.laBlog

WEB屋の音速実験室

jQuery.class.jsのバグ修正とconsole.logのお話

jQueryでPrototype.js風のクラス定義をしてみる
で公開していたスクリプトで見つかった不具合が、意外と盲点だったので自戒として記録。
ただ単純にチェック不足なだけでしたが…悔しい。

jQury.class.js

ソース

mach3′s js-jquery-class at master – GitHub

あるの?ないの?console.log

引っかかったのは、インスタンスにlogメソッドを生やしている部分。
console.logの有無で分岐をした…つもりだったんですが、

if( $.isFunction( console.log ) ){ ... }

当たり前なのですが、
console.logが、というかconsoleがなければここで処理は止まってしまいます…。
なんでこんなのに気付かなかったのかというと、IE8で処理が止まらなかったから。
なぜなら、consoleもconsole.logも有るから!(実は知らなかったーー!!)

そんなわけで、条件を修正。
なんかもうちょっとスマートに書きたいですが…

typeof(console)!=="undefined" && typeof(console.log)!=="undefined"

IE8の開発者ツールをちゃんと使って無かったって事ですね。反省。
でも次からは楽になりますね!

この不具合、特別必要なかったオマケ機能だった事もあって、結構悔しいです…

Share |

コメント (1件)

うりん

if( console && $.isFunction( console.log ) ) { ...でも大丈夫ではないですか?

コメントを投稿する

入力されたメールアドレスは公開されません。


*

「東北地方太平洋沖地震」義援金支援(Yahoo!基金)