Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #25374

Re: Element visible

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>

Show all headers | View raw


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 | NextPrevious in thread | Find similar | Unroll thread


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