data: function( elem, name, data ) {
if ( !jQuery.acceptData( elem ) ) {
return;
}
elem = elem == window ? windowData : elem;
Copied directly from the jQuery source.
Why is it not safe to use elem === window
?
Why does jQuery use type coercion on the window
object?
It would appear that in IE there's an issue with top
top == window // true
top === window // false
See here for why checking againts the window object with
===
is unsafe in IE.I think the root cause is that IE is closely coupled with the Windows OS so you have various OS objects referenced through
window
and the equality check just dies. That and it just doesn't handled the globalhost
object correctly.