Comment #5 on issue 24924 by bquandt: Site not working anymore
http://code.google.com/p/chromium/issues/detail?id=24924
I'm seeing this same behavior on any article link published on ibj.com.
They've got call
into jQuery that appears to be handled differently in Chrome than in
Firefox:
jQuery("div.body:eq(0)").css({'display' : 'block'});
When stepping through this, the offending line appears as this:
false||function(a,i){return m[3]-0==i}
Chrome complains, "ReferenceError: m is not defined"
This line's coming from an eval() call in filter() on jquery.js:1521:
f = eval("false||function(a,i){return " + f + "}");
where f was previously defined as
f = jQuery.expr[m[1]][m[2]]; (which evaluates to the "m[3]-0==i" you see
above)
m looks like this:
m: Array
0: :eq(0)
1: :
2: eq
3: 0
4: undefined
__proto__: Array
constructor: function Array()
index: 0
input: :eq(0)
length: 5
Although I'm no expert on closures, it appears Chrome is losing the m[]
array in
jquery.js:1524 when calling grep(). Once in grep(), m[] is no longer in
scope (and doesn't
appear in Chrome's Developer Tools/Scripts "Closure" dropdown either).
Because "m" is in
scope at the point where the function is generated with eval(), "m" should
remain defined
when f() is evaluated (as fn() inside grep()), correct?
This is how I see Firefox/Firebug properly behaving.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---