2011-01-11 6 views
3

jQuery 1.4.4にアップグレードして以来、Firefox 3.6.13で単体テストを実行すると、いくつかの新しい警告メッセージが表示されています。ここでは代表的なものです:Firefoxの警告メッセージをどのように追跡することができますか?

Warning: Unexpected token in attribute selector: '!'. 
Source File: http://localhost/unitTests/devunitTests.html 
Line: 0 

あるいはさらに便利:

Warning: Selector expected. 
Source File: http://localhost/unitTests/ui/editors/iframe2.html?test=15 
Line: 0 

Webページがうまくレンダリング、およびすべての私のJavaScriptコードも大丈夫実行しているように見えるので、私は過ごすには消極的ですこれらのメッセージを追跡するために潜在的に大量の時間が自分のコードを削除します。しかし、誰もが警告を引き起こしていることを示唆することはできますか?

+0

私は今Firefox 4に移行しましたが、それらの新しい警告メッセージはもう存在しません。 –

答えて

0

基本的に、Firefoxにはjavascriptに関する厳しい規則があり、javascriptコードに影響を与えない簡単な問題についてはエラーが返されます。 varのない変数を定義している頭の上から、エラーコンソールに何らかの警告が表示されますが、これは問題ありません。この種のコーディング方法は、javascriptのサイズを小さくし、javascript全体をより細くしてより速く実行するためには正常です。これらのエラーのほとんどは実際にjQuery自体で発生します。

あなたはここにFirefoxの厳格なJavaScriptのエラーの詳細を読むことができます:http://www.howtocreate.co.uk/strictJSFirefox.html

厳しい警告をオフにすることは可能ですが、おそらくあなたが開発している間、ではないことをお勧め。

TL; DR:すべてがうまくいくと心配する必要はありませんが、FFはちょっと行き過ぎです。

+0

あなたがjQueryに参加していることについてあなたが正しいように見えるので、将来のリリースで去ることを願っています。 –

+0

@Charles - これはjQueryのエラーではありません。使用しようとしている無効なセレクタです。*エラーは本当に正しいです。 –

+0

私は、残ったものすべてが空のタグとの1つの

2

あなたはおそらくこのようなものがあります:"""selector[!=value]"以来、

$("something[" + attributeNameVariable + "!=somethingElse]") 

これらの両方のケースでは、あなたの変数が空でエラーになります。

$(selectorVariable) 

を...と、これらの線に沿って何か他のものは、有効なセレクタではありません。あなたがセレクタで変数を使用していて、if()のチェックを追加すると、セレクタが無効な場合に実行されるようになりました(変数の空の文字列がうまく使用されている場所によって異なります)。

関連する問題