473,396 Members | 1,913 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Accesing an IFrame from an internal element

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 ***
Feb 22 '06 #1
13 4105
d
"Fernando Deutsch" <fd************@nospambitam.com> wrote in message
news:43***********************@titian.nntpserver.c 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 ***

Feb 22 '06 #2
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)
Feb 22 '06 #3
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." <ex**************@interxnl.net> wrote in message
news:Xn********************@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 ***
Feb 22 '06 #4
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" <d@example.com> wrote in message
news:zK******************@text.news.blueyonder.co. uk...
"Fernando Deutsch" <fd************@nospambitam.com> wrote in message
news:43***********************@titian.nntpserver.c 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 ***
Feb 22 '06 #5
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
Feb 22 '06 #6
Fernando Deutsch wrote on 22 feb 2006 in comp.lang.javascript:
"Evertjan." <ex**************@interxnl.net> wrote in message
news:Xn********************@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)
Feb 22 '06 #7
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 ***
Feb 22 '06 #8
"Fernando Deutsch" <fd************@nospambitam.com> 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 - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Feb 23 '06 #9
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

Feb 23 '06 #10
Csaba Gabor wrote:
Lasse Reichstein Nielsen wrote:

<snip>
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. ...


And if you tried it out on IceBrowser it would fail reliably.
IceBrowser's - document.defalutView - is a reference to an object
implementing the - AbstractView - interface (as the W3C spec says it
should be) but not the global/window object.

Richard.
Feb 23 '06 #11
Richard Cornford wrote:
Csaba Gabor wrote:
Lasse Reichstein Nielsen wrote:
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. ...


And if you tried it out on IceBrowser it would fail reliably.
IceBrowser's - document.defalutView - is a reference to an object
implementing the - AbstractView - interface (as the W3C spec says it
should be) but not the global/window object.


The object that can be referred to with the `window' property of the global
object implements the AbstractView interface of W3C DOM Level 2 Views in
Gecko-based UAs (and probably others except of IE), because that object has
a `document' property referring an object that implements the DocumentView
interface (has a `defaultView' property referring to an object that
implements the AbstractView interface).

An object implementing an interface does _not_ mean that this object
has /only/ the properties and methods this interface provides. But
for a conforming implementation it is required that is has /also/
these properties, unless they are specified as optional.
PointedEars
Feb 24 '06 #12
Thomas 'PointedEars' Lahn wrote:
<snip>
The object that can be referred to with the `window' property
of the global object implements the AbstractView interface of
W3C DOM Level 2 Views in Gecko-based UAs (and probably others ...

<snip>

The point that the - document.defalutView - may refer to the
global/window object in many implementations was already made (with the
implication that it is that object that then must implement the
AbstractView interface).

My point was that the DOM Views specification does not require any more
than that - document.defalutView - refer to _an_ object implementing
the - AbstractView - interface. It does not require that object to be
the global/window object, and it does not forbid any number of other
objects from implementing the - AbstractView - interface if they want
to.

It would be a mistake to assume that the global/window object was an
object implementing the - AbstractView - interface (particularly with
regard to DOM Styles methods), or that the - document.defalutView -
property was a reference from the document to the global/window object.
At least it would be a mistake in a public Internet context, on a
browser restricted Intranet it might be completely reasonable.

Richard.
Feb 25 '06 #13
Richard Cornford wrote:
Thomas 'PointedEars' Lahn wrote:
<snip>
The object that can be referred to with the `window' property
of the global object implements the AbstractView interface of
W3C DOM Level 2 Views in Gecko-based UAs (and probably others ... <snip>

The point that the - document.defalutView - may refer to the
global/window object in many implementations was already made (with the
implication that it is that object that then must implement the
AbstractView interface).

My point was that the DOM Views specification does not require any more
than that - document.defalutView - refer to _an_ object implementing
the - AbstractView - interface. It does not require that object to be
the global/window object, and it does not forbid any number of other
objects from implementing the - AbstractView - interface if they want
to.


Of course.
It would be a mistake to assume that the global/window object was an
object implementing the - AbstractView - interface (particularly with
regard to DOM Styles methods), or that the - document.defalutView -
property was a reference from the document to the global/window object.
At least it would be a mistake in a public Internet context, on a
browser restricted Intranet it might be completely reasonable.


Whether I concur here would depend on what you mean by "assume". Certainly
it is reasonable to feature-test it before using it, not following wild
assumptions. However, if that object has a property named `document' that
has a `defaultView' property that refers to the owner object, it is
reasonable to assume that the interfaces were implemented as specified.
PointedEars
Feb 25 '06 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Martin | last post by:
There seems to be some strange behaviour when trying to get the scrollHeight and scrollTop of an iframe in IE6. I have tried several ways of getting these values when the iframe is written into...
3
by: Ryh | last post by:
I have the following scritpt. It hides div layer when mouse is out of the div layer. Inside DIV I have IFRAME box. Unfortuantely it does not work in Mozilla or IE 5.5. It hides div when cursor is...
5
by: Mel | last post by:
i need to have 2 side by side iframes, a link on top of the one will show/hide the other can someone help me pleeeeezzzzz ?
7
by: Christopher J. Hahn | last post by:
I'm trying to use a script-generated form to submit to a script-generated iframe. The problem I'm running into is that the iframe is not assuming the name I assign it. IE6 on Win2000. FF1.0.2+...
5
by: Michael | last post by:
Hi I have a ASP.NET with an IFrame element that contains a another page. When this internal page loads I want the IFrame to increase in height so that all of the contents can be displayed. I've...
1
by: Testing12340 | last post by:
Hello!, I have this well, little IE issue. I'm showing hiding div's (containing IFRAMES), however, for some reason in IE one of the iframe contents allow me to click them (the last one allows me...
1
by: Z1P2 | last post by:
I would like to gradually resize an iframe in an onmouseover event. I can easily do it with an image, but when I try to do it with an iframe, it doesn't do anything. So first of all, is it possible...
1
by: John L. | last post by:
How do I invoke the scroll() method of a window object for a scrollable IFRAME element in an HTML document? I am using IE 7.0, and I thought the following would work: ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.