Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #25374
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Element visible |
| Date | 2014-07-15 15:08 +0200 |
| Organization | PointedEars Software (PES) |
| Message-ID | <1503828.jIctB0555y@PointedEars.de> (permalink) |
| References | (1 earlier) <visibility-20140709041836@ram.dialup.fu-berlin.de> <j9idnT3Ozq34JSHOnZ2dnUVZ_hydnZ2d@westnet.com.au> <13026944.5APpuSVIFp@PointedEars.de> <wNmdnUw9Ar6cRyDOnZ2dnUVZ_sudnZ2d@westnet.com.au> <2118762.fOI3iGdBDC@PointedEars.de> |
Thomas 'PointedEars' Lahn wrote:
> I can only see two possibilities, other than those that you have excluded,
> that can cause an element to be not visible:
>
> One, the element may not be part of a real document but exist only as
> element object in memory. In that case the value of the “parentNode”
> property of that object would be “null” or at least a false-value because
> it has no parent node.
>
> However, it may also be a descendent node of a node that only exists in
> memory. In that case the former’s “parentNode” property value would not
> be “null”, but following up to the next ancestor until the “parentNode”
> property value of the target node is “null” should be sufficient in most
> cases.
>
> Yet, with this approach there is a potential for false positives because
> the root element node’s “parentNode” property value is always “null” (or a
> false-value). I have just found out (in Chromium 34) that even the value
> of the “ownerDocument” property of a node object can be not “null” if the
> represented node was previously part of a real (HTML5) document. So I
> have yet to find a reliable test for this possibility.
Correction: At least the root element node’s “parentNode” property value is
not “null” (or a false-value) if, and only if, that element is currently
part of a document. Hpwever, a document object’s “parentNode” property
value is always “null” (or a false-value). This is the reliable test I was
looking for:
function inDocument (e, doc)
{
/* null or undefined */
if (doc == null)
{
doc = e.ownerDocument;
}
while ((e = e.parentNode))
{
if (e == doc)
{
return true;
}
}
return false;
}
Note: This method cannot tell whether “doc” is visible. However, there
appears to be the “visibilityState” property for that, and it is a W3C
Recommendation:
<https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API>
--
PointedEars
FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix>
Please do not Cc: me. / Bitte keine Kopien per E-Mail.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Find similar | Unroll thread
Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-09 10:09 +1000
Re: Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-09 13:32 +1000
Re: Element visible "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-09 09:54 +0200
Re: Element visible Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-07-09 11:18 +0200
Re: Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-09 23:17 +1000
Re: Element visible John Harris <niam@jghnorth.org.uk.invalid> - 2014-07-09 16:08 +0100
Re: Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-10 10:07 +1000
Re: Element visible "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-10 09:15 +0200
Re: Element visible "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2014-07-10 10:45 +0300
Re: Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-10 22:13 +1000
Re: Element visible "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-10 14:31 +0200
Re: Element visible Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-10 13:35 -0700
Re: Element visible "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-11 00:23 +0200
Re: Element visible Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-12 20:09 -0700
Re: Element visible "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-13 09:07 +0200
Re: Element visible John Harris <niam@jghnorth.org.uk.invalid> - 2014-07-10 10:46 +0100
Re: Element visible Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-07-10 12:10 +0200
Re: Element visible Andrew Poulos <ap_prog@hotmail.com> - 2014-07-14 13:00 +1000
Re: Element visible Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-07-15 15:08 +0200
csiph-web