In Firebug, $ == jQuery gibt nur manchmal false zurück

9

Okay, ich habe dieses seltsame Problem in Firefox. Ich tippe Firebugs Konsole ein

%Vor%

Manchmal wird es wahr und manchmal falsch angezeigt. Die Datei ist nur ein leeres HTML-Dokument mit einem Skript-Tag einschließlich jQuery. Ich aktualisiere die Seite, klicke auf "Ausführen" in der Konsole und wieder, manchmal gibt es wahr, gelegentlich falsch.

In den Fällen, in denen false zurückgegeben wird, gibt $.toString()

an %Vor%

Hier ist das komische Ding. Wenn $ == jQuery mit der Firebug-Konsole false gibt, wenn ich in die Adressleiste gehe und javascript:alert($ == jQuery); eintippe, wird true! Gemeldet! ​​

Hat jemand eine Idee, was hier vor sich geht? Es bringt (gelegentlich) mein Debugging durcheinander.

    
Nick 29.08.2010, 03:28
quelle

4 Antworten

3

Es gibt eine von Firebug definierte native Funktion, die $ getElementById zuweist. Ich denke nicht, dass Sie diesen "Fehler" beheben können, ohne auf eine neuere Version von Firebug zu aktualisieren, die das Problem möglicherweise beseitigt, oder $ = jQuery manuell zuweisen.

Wahrscheinlich kommt es daher, dass jQuery bereits zwischengespeichert wurde und der Firebug $ es überschreibt, da es zu schnell abfeuert oder umgekehrt ... nur ein seltsamer Fehler in Bezug auf die Geschwindigkeit der Zuweisung + Caching.

>     
meder omuraliev 29.08.2010, 06:43
quelle
0

Vielleicht benutzt der Feuerwebel $ für etwas und es gibt eine Race-Bedingung zwischen jquery und firebug für das Setzen dieser Variable, Sie müssen bedenken, dass viele JavaScript-Bibliotheken diesen Variablennamen verwenden, wenn ich nicht falsch bin sie

    
Jaime Hablutzel 29.08.2010 06:30
quelle
0

Sie sollten anstelle einer Gleichheitsprüfung instanceof verwenden.

Aus dem Grund, warum es wahrscheinlich ist, dass Firebug $ in einem lokalen Bereich definiert hat.

    
balupton 29.08.2010 06:34
quelle
0

Es könnte viele andere Dinge geben, die $ als Funktions- / Variablensymbol verwenden. jQuery ist nur einer von ihnen. Firebug überschreibt vermutlich $.

    
F.Z 29.08.2010 06:39
quelle

Tags und Links