Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #19603
| Date | 2013-05-03 08:32 +1000 |
|---|---|
| From | Andrew Poulos <ap_prog@hotmail.com> |
| Newsgroups | comp.lang.javascript |
| Subject | Re: iframe scrolled by how much |
| References | <HqidnRXFEeGYgh_MnZ2dnUVZ_gSdnZ2d@westnet.com.au> <XnsA1B48E1A8BC9Ceejj99@194.109.133.133> <7b2dnVaGSOsFwx_MnZ2dnUVZ_vKdnZ2d@westnet.com.au> <XnsA1B4969FD1484eejj99@194.109.133.133> |
| Message-ID | <gu2dne-MrPUMdB_MnZ2dnUVZ_rydnZ2d@westnet.com.au> (permalink) |
On 2/05/2013 10:48 PM, Evertjan. wrote:
> Andrew Poulos wrote on 02 mei 2013 in comp.lang.javascript:
>
>> 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
Both these
document.gEBTN("iframe")[0].contentWindow.document.body
document.gEBTN("iframe")[0].contentWindow.document.documentElement
seem to work in their respective browsers.
> I could test that out, but so could you, methinks.
>
> perhaps you could try to add here /***/:
Thanks I'm getting a value consistently now but I'm sure of the approach
I'm using.
> frm = (frm.documentElement || frm);
What I'm doing now is:
var frm = document.getElementsByTagName("iframe")[0];
frm = (frm.contentWindow || frm.contentDocument).document;
window.alert(frm.documentElement.scrollLeft || frm.body.scrollLeft);
Andrew Poulos
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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