Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Accesing an IFrame from an internal element

Reply
Thread Tools

Accesing an IFrame from an internal element

 
 
Fernando Deutsch
Guest
Posts: n/a
 
      02-22-2006
I have an html page with an iframe on it. Inside the iframe there is an img
element. I am looking how to reference the iframe from the img element
contained on it and cannot find a way to do it. I am using FireFox 1.5.0.1

I am looking for something like myImg.container.

Can someone help me ?

Thanks in advance


*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
 
Reply With Quote
 
 
 
 
d
Guest
Posts: n/a
 
      02-22-2006
"Fernando Deutsch" <(E-Mail Removed)> wrote in message
news:43fc972a$0$25682$(E-Mail Removed) om...
>I have an html page with an iframe on it. Inside the iframe there is an img
> element. I am looking how to reference the iframe from the img element
> contained on it and cannot find a way to do it. I am using FireFox 1.5.0.1
>
> I am looking for something like myImg.container.
>
> Can someone help me ?


window, isn't it?

> Thanks in advance
>
>
> *** Free account sponsored by SecureIX.com ***
> *** Encrypt your Internet usage with a free VPN account from
> http://www.SecureIX.com ***



 
Reply With Quote
 
 
 
 
Evertjan.
Guest
Posts: n/a
 
      02-22-2006
Fernando Deutsch wrote on 22 feb 2006 in comp.lang.javascript:

> I have an html page with an iframe on it. Inside the iframe there is
> an img element. I am looking how to reference the iframe from the img
> element contained on it and cannot find a way to do it.


window

[To the image the page of the iframe is just that,
perhaps I read your Q wrong, however]

> I am using FireFox 1.5.0.1


Are you only building for yourself?


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
Fernando Deutsch
Guest
Posts: n/a
 
      02-22-2006
No, window returns undefined.

I have tried so far

element.window;
element.ownerDocument.window;

where element is the img object and both expressions returns undefined.

Thanks anyway

"d" <(E-Mail Removed)> wrote in message
news:zK0Lf.24779$(E-Mail Removed). uk...
> "Fernando Deutsch" <(E-Mail Removed)> wrote in message
> news:43fc972a$0$25682$(E-Mail Removed) om...
> >I have an html page with an iframe on it. Inside the iframe there is an

img
> > element. I am looking how to reference the iframe from the img element
> > contained on it and cannot find a way to do it. I am using FireFox

1.5.0.1
> >
> > I am looking for something like myImg.container.
> >
> > Can someone help me ?

>
> window, isn't it?
>
> > Thanks in advance
> >
> >
> > *** Free account sponsored by SecureIX.com ***
> > *** Encrypt your Internet usage with a free VPN account from
> > http://www.SecureIX.com ***

>
>



*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
 
Reply With Quote
 
Fernando Deutsch
Guest
Posts: n/a
 
      02-22-2006
No, window returns undefined.

I have tried so far

element.window;
element.ownerDocument.window;

where element is the img object and both expressions returns undefined.

> Are you only building for yourself?


I did not understand what you mean.

Thanks anyway

"Evertjan." <(E-Mail Removed)> wrote in message
news:Xns9772B7017B35Beejj99@194.109.133.242...
> Fernando Deutsch wrote on 22 feb 2006 in comp.lang.javascript:
>
> > I have an html page with an iframe on it. Inside the iframe there is
> > an img element. I am looking how to reference the iframe from the img
> > element contained on it and cannot find a way to do it.

>
> window
>
> [To the image the page of the iframe is just that,
> perhaps I read your Q wrong, however]
>
> > I am using FireFox 1.5.0.1

>
> Are you only building for yourself?
>
>
> --
> Evertjan.
> The Netherlands.
> (Please change the x'es to dots in my emailaddress)



*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
 
Reply With Quote
 
Jonas Raoni
Guest
Posts: n/a
 
      02-22-2006
Fernando Deutsch wrote:
> I have tried so far
>
> element.window;
> element.ownerDocument.window;


This looks quite strange, he asked you to use the window global variable.

alert(window);

If you're "inside" the iframe, this will be a reference to it.


--
Jonas Raoni Soares Silva
http://www.jsfromhell.com
 
Reply With Quote
 
Evertjan.
Guest
Posts: n/a
 
      02-22-2006
Fernando Deutsch wrote on 22 feb 2006 in comp.lang.javascript:

> "Evertjan." <(E-Mail Removed)> wrote in message
> news:Xns9772B7017B35Beejj99@194.109.133.242...
>> Fernando Deutsch wrote on 22 feb 2006 in comp.lang.javascript:
>>
>> > I have an html page with an iframe on it. Inside the iframe there
>> > is an img element. I am looking how to reference the iframe from
>> > the img element contained on it and cannot find a way to do it.

>>
>> window
>>
>> [To the image the page of the iframe is just that,
>> perhaps I read your Q wrong, however]


[please do not toppost on usenet]

> No, window returns undefined.


Imposssible, as windows is the top-of-DOM.

> I have tried so far
>
> element.window;
> element.ownerDocument.window;
> where element is the img object and both expressions returns
> undefined.


This is nonsense code, you cannot go above the window in a page.
Windows does not have to derive from your img object, as you are on theat
page with your javascript, acording to your Q.

Try:
alert(windows.document.body.style.color)

Reread your Q and see that the answer to your Q is sound,
then refrase your question to what you realy wanted to know.

===========================

You left out this quote:
">>> I am using FireFox 1.5.0.1 "

>> Are you only building for yourself?

>
> I did not understand what you mean.


It does not matter if you are using FF or IE,
it matters what your users use.
Or is the page build for your personal use only?


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
Fernando Deutsch
Guest
Posts: n/a
 
      02-22-2006
May look as nonsense code to you, because you dont know the whole context of
the application.

Basically I have a html page with the iframe that contains an img element.
On that page (not inside the iframe) I have a collection that contains a
reference to the img object of the iframe.

So I am looking to see what object would be the "window container" of that
img . As I have a reference to the img object I can navigate to its owner
document, and from it, I should be able to reach its window (expecting the
iframe) but I got an undefined object.

According to the Mozilla Document Interface
http://www.mozilla.org/docs/dom/domr...ef.html#998664 I should be
able to get the window by the property contentWindow.

About the browser, I have resolved the situation for IE, I am looking for a
solution on FF.

>
> This is nonsense code, you cannot go above the window in a page.
> Windows does not have to derive from your img object, as you are on theat
> page with your javascript, acording to your Q.
>
> Try:
> alert(windows.document.body.style.color)
>
> Reread your Q and see that the answer to your Q is sound,
> then refrase your question to what you realy wanted to know.
>
> ===========================
>
> You left out this quote:
> ">>> I am using FireFox 1.5.0.1 "
>
> >> Are you only building for yourself?

> >
> > I did not understand what you mean.

>
> It does not matter if you are using FF or IE,
> it matters what your users use.
> Or is the page build for your personal use only?
>



*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
 
Reply With Quote
 
Lasse Reichstein Nielsen
Guest
Posts: n/a
 
      02-23-2006
"Fernando Deutsch" <(E-Mail Removed)> writes:

Please don't top post!

> May look as nonsense code to you, because you dont know the whole context of
> the application.


More likely because he knows how the DOM works.

You wrote, e.g.:
element.window
and
element.ownerDocument.window

That's just blind guessing on your part, and it works as well as
could be expected from that. The element does have an "ownerDocument"
property (as specified by W3C DOM Core), but neither the document
nor the element has a reference to a window object.

> So I am looking to see what object would be the "window container" of that
> img . As I have a reference to the img object I can navigate to its owner
> document, and from it, I should be able to reach its window (expecting the
> iframe) but I got an undefined object.


The error is your assumption that you can go from a DOM element to
the window containing the DOM document of the element. The window object
is not a DOM object, so the DOM specification doesn't say how to find
it.

You might be able to use document.defaultView, as some browsers have
that property point to the window object. It is not specified that the
defaultView should also be the global object, or a window object, and
it's not available in all browsers, so it's not a good solution.

> According to the Mozilla Document Interface
> http://www.mozilla.org/docs/dom/domr...ef.html#998664 I should be
> able to get the window by the property contentWindow.


That's a property on the DOM element of the iframe in the parent document,
not on an element in the window you want to find.

You could also just do (in the parent window):
frames["iframeId"]
to get the window object of the embedded iframe with id="iframeId".

/L
--
Lasse Reichstein Nielsen - http://www.velocityreviews.com/forums/(E-Mail Removed)
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
 
Reply With Quote
 
Csaba Gabor
Guest
Posts: n/a
 
      02-23-2006
Lasse Reichstein Nielsen wrote:
> The error is your assumption that you can go from a DOM element to
> the window containing the DOM document of the element. The window object
> is not a DOM object, so the DOM specification doesn't say how to find
> it.


Rather unfortunate, that.

> You might be able to use document.defaultView, as some browsers have
> that property point to the window object. It is not specified that the
> defaultView should also be the global object, or a window object, and
> it's not available in all browsers, so it's not a good solution.


Thanks for the tip, I had missed it before. I just tested it out on my
Firefox 1.5 / Win XP Pro and it is working fine. Here is what I did:
Main page:
<html><head><title>Containing Page</title>
<script type='text/javascript'>
function onLoad() {
var iframe = document.getElementById('myframe');
var elemInFrame = iframe.contentDocument.getElementById('myElem');
var elemWindow = elemInFrame.ownerDocument.defaultView;
elemWindow.setTimeout ("document.getElementById('myspan').innerHTML =
\
'The answer is: mozilla'", 100);
}
</script>
</head><body onload="onLoad()">
This page contains a single iframe with
an image element to see if we can get to
that element's containing window<br><br>
<iframe id=myframe src="frame.htm"
style="height:4in;width:6in"></iframe>
</body></html>


Frame.htm:
<html><head><title>Frame Page</title></head>
<body>
This is the frame<br><br>
<span id=myspan style="border:1px solid green">
This text in the frame should get replaced</span><br><br>
<div>
<img id=myElem src="https://www.mozilla.org/images/header_logo.gif">
</div>
</body></html>


The above test also works for IE 6, if I change the middle two lines of
script to:
var elemInFrame = iframe.Document.getElementById('myElem');
var elemWindow = elemInFrame.document.parentWindow;


Csaba Gabor from Vienna

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to Update/insert an xml element's text----> (<element>text</element>) HANM XML 2 01-29-2008 03:31 PM
Access iframe element from another iframe present in an div tag karthickdevi@gmail.com Javascript 3 11-21-2006 04:33 AM
Get parent iframe element in iframe Cleaner1912@gmail.com Javascript 0 09-27-2006 05:16 AM
internal to internal NAT? Mike Cisco 1 04-21-2004 12:15 PM
Get form values from iframe (1) to iframe (2) inside a layer in iframe (1) Daedalous Javascript 3 01-16-2004 11:08 AM



Advertisments