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


Groups > comp.lang.javascript > #19600

Re: iframe scrolled by how much

Message-ID <2454054.W8v1AkpiNS@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2013-05-02 21:20 +0200
Subject Re: iframe scrolled by how much
Newsgroups comp.lang.javascript
References <HqidnRXFEeGYgh_MnZ2dnUVZ_gSdnZ2d@westnet.com.au> <XnsA1B48E1A8BC9Ceejj99@194.109.133.133> <7b2dnVaGSOsFwx_MnZ2dnUVZ_vKdnZ2d@westnet.com.au>

Show all headers | View raw


Andrew Poulos wrote:

> On 2/05/2013 9:58 PM, Evertjan. wrote:
>> Andrew Poulos wrote on 02 mei 2013 in comp.lang.javascript:
>>> If I get a reference to an iframe using
>>>     var myfrm = document.getElementsByTagName("iframe")[0];
>>> how do I get the scrollLeft and Top of the iframe?
>>
>> function showScrollTop() {
>> var frm = document.getElementsByTagName("iframe")[0];
>> frm = (frm.contentWindow || frm.contentDocument);
>> frm = (frm.document || frm);
>>
>> alert('Top: ' + frm.body.scrollTop+'px');
>> alert('Left: ' + frm.body.scrollLeft+'px');
>> };
>>
>> Works only in same domain, so also not local [without localhost ?].
> 
> To get IE9 to return anything but 0 I had to use documentElement:
>     window.alert('Top: ' + frm.documentElement.scrollTop + 'px');
> 
> Does it mean that the possible permutations are
> 
> document.gEBTN("iframe")[0].contentWindow.document.body
> document.gEBTN("iframe")[0].contentWindow.document.documentElement
> document.gEBTN("iframe")[0].contentDocument.body
> document.gEBTN("iframe")[0].contentDocument.documentElement
> 
> ?

Yes, if you cannot control the content of the iframe and so, which rendering 
mode will be used.  However, it is easier to access the iframe context's 
WindowProxy object by name or index, using the “frames” collection:

  window.frames["myiframe"].document.body
  window.frames["myiframe"].document.documentElement

  window.frames[0].document.body
  window.frames[0].document.documentElement

This referencing, which originates from “DOM Level 0”, is specified in HTML5 
(CR):

<http://www.w3.org/TR/2012/CR-html5-20121217/browsers.html#the-window-
object>

(The WindowProxy object appears to be underdefined, but one can see where 
this is going.)

-- 
PointedEars

Twitter: @PointedEars2
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


Thread

iframe scrolled by how much Andrew Poulos <ap_prog@hotmail.com> - 2013-05-02 18:08 +1000
  Re: iframe scrolled by how much "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-05-02 13:58 +0200
    Re: iframe scrolled by how much Andrew Poulos <ap_prog@hotmail.com> - 2013-05-02 22:39 +1000
      Re: iframe scrolled by how much "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-05-02 14:48 +0200
        Re: iframe scrolled by how much Andrew Poulos <ap_prog@hotmail.com> - 2013-05-03 08:32 +1000
          Re: iframe scrolled by how much "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-05-03 08:38 +0200
      Re: iframe scrolled by how much Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-02 21:20 +0200

csiph-web