Klaus Hartl wrote:
> Hi all, in IE8
> 
> window === window.top
> 
> is false, whereas
> 
> window == window.top

This may already be common knowledge, but it is new to me....

HTML5 mandates that window.top, window.parent, etc. all be WindowProxy 
objects rather than true Window objects.  A WindowProxy acts just like a 
Window object because all of its properties are proxied directly to a 
Window.  A Window and a WindowProxy are not the same object, however, 
and so they are not === to each other.  I'm a little surprised that they 
are actually == to each other in IE8, but maybe that's the way all the 
browser vendors will do it.

One fix to the code would be to use == instead of ===.  Another, I 
suppose might be to test something like:

   window.top.document === window.document

(The DOM isn't ready when this code is executed, but the document object 
exists, doesn't it?)

I haven't seen an explanation of why the WindowProxy is necessary, 
though I suppose that something must exist in the HTML 5 mailing lists. 
  I'd love to understand this, if anyone has pointers.

        David


> evaluates to true. Because of this the ready event will always rely on
> document's onreadystatechange event instead of using Diego Perini's
> doScroll trick, see line 833 in event.js. I assume his trick is better
> in terms if "earliness".
> 
> Can somebody please confirm this? Or is it that we want to rely on the
> event in IE8?
> 
> 
> --Klaus
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to