dynamic src of IFRAME

D

dkode8

I am ripping my hair out trying to set the src (location.href) of an
IFRAME that i show once a user clicks on a certain link:

function editTimeEntry(timeEntryID, dayID, e) {
var x = e.clientX;
var y = e.clientY;
ew = frames['editPop'];
eF = getObj('editPopID');
eF.style.left = x + 10;
eF.style.top = y + 10;
window.top.frames['editPopID'].location.href =
"controls/editPopup.aspx?id=" + timeEntryID + "&did=" + dayID;
ShowFrame();
}

function ShowFrame() {
if (eF.style.display=="none") {
eF.style.display="black"; // FF Drawing bug
}
eF.style.visibility="visible";
alert("Location:" + document.frames['editPop'].location.href);
}

When the IFRAME is displayed it just shows about:blank and not the
location.href I set for it. After the first time, i click on the same
link and it shows me the correct address in the alert box in
ShowFrame(), but the iframe remains blank. can anyone point me to the
right documentation or help me out? It would be greatly appreciated.
Thank you.

Sean
 
R

RobB

I am ripping my hair out trying to set the src (location.href) of an
IFRAME that i show once a user clicks on a certain link:

function editTimeEntry(timeEntryID, dayID, e) {
var x = e.clientX;
var y = e.clientY;
ew = frames['editPop'];
eF = getObj('editPopID');
eF.style.left = x + 10;
eF.style.top = y + 10;
window.top.frames['editPopID'].location.href =
"controls/editPopup.aspx?id=" + timeEntryID + "&did=" + dayID;
ShowFrame();
}

function ShowFrame() {
if (eF.style.display=="none") {
eF.style.display="black"; // FF Drawing bug
}
eF.style.visibility="visible";
alert("Location:" + document.frames['editPop'].location.href);
}

When the IFRAME is displayed it just shows about:blank and not the
location.href I set for it. After the first time, i click on the same
link and it shows me the correct address in the alert box in
ShowFrame(), but the iframe remains blank. can anyone point me to the
right documentation or help me out? It would be greatly appreciated.
Thank you.

Sean

Didn't post your HTML -which leaves people to guess what all those
identifiers correspond to. You're dealing with *two* objects there: a
frame (window) object, with its Location object (location property),
and an element object, which sets the iframe src via its - erm - src
property. Unclear why all the duplication...anyway, the frame object is
referenced via the frame name, not its id as the element object is.

window.top.frames['editPop'].location.href = ....
(or ew.location.href = ....)

<iframe name="editPop"...>

Typo?

eF.style.display="black" <-----
 
R

Richard Cornford

window.top.frames['editPopID'].location.href =
"controls/editPopup.aspx?id=" + timeEntryID + "&did=" + dayID;
... just shows about:blank ...
<snip>

All else aside, if you have an IFRAME with "about:blank" as its SRC,
when you assign a relative URL to the corresponding location object what
are you expecting that URL to be relative to?

Richard.
 
D

dkode8

I have tried everything with no luck. It works perfectly in FireFox,
but it DOES NOT work in IE. I have tried the following:

window.frames["editPop"].location = "http://website/address/here"
top.frames["editPop"].location = "http://website/address/here"
document.frames["editPop"].location = "http://website/address/here"
document.top.frames["editPop"].location = "http://website/address/here"
window.top.frames["editPop"].location = "http://website/address/here"

Does anyone know how I can get this to work? It's really aggravating.
 
R

RobB

I have tried everything with no luck. It works perfectly in FireFox,
but it DOES NOT work in IE. I have tried the following:

window.frames["editPop"].location = "http://website/address/here"
top.frames["editPop"].location = "http://website/address/here"
document.frames["editPop"].location = "http://website/address/here"
document.top.frames["editPop"].location = "http://website/address/here"
window.top.frames["editPop"].location = "http://website/address/here"

Does anyone know how I can get this to work? It's really aggravating.

How about...

window.self.top.parent.document.frames["editPop"].location.href.com

Seriously...not to beat a dead iframe...

Your HTML here is the architectural blueprint to the structure of your
document(s). Better to analyze it than just string references together
and pray.
 
D

dkode8

HA!

top.document.getElementyById('editPopID').src worked.

what a task! thank you very much for your help!
 
R

Richard Cornford

Csaba said:
window.top.frames['editPopID'].location.href =
"controls/editPopup.aspx?id=" + timeEntryID +
"&did=" + dayID;

Have you tried?
top.document.getElementById('editPopID').src =
"http://yourPageHere";

It seems a bit unfair to take someone who is probably making a trivial
error (or suffering a minor misconception) in their use of a reliable
cross-browser technique for navigating a frame and sending them off with
an alternative that is significantly less well supported and should not
be expected to work at all according to the applicable standard.

Richard.
 
T

Thomas 'PointedEars' Lahn

Richard said:
Csaba said:
window.top.frames['editPopID'].location.href =
"controls/editPopup.aspx?id=" + timeEntryID +
"&did=" + dayID;

Have you tried?
top.document.getElementById('editPopID').src =
"http://yourPageHere";

It seems a bit unfair to take someone who is probably making a trivial
error (or suffering a minor misconception) in their use of a reliable
cross-browser technique for navigating a frame and sending them off with
an alternative that is significantly less well supported

Full ACK
and should not be expected to work at all according to the applicable
standard.

NAK. According to the "applicable standard" (DOM Level 2+), DOM Level 0
references not specified therein should not work at all in HTML user
agents, so the first version should ultimately fail. However, it does
usually work and it does not fail. And since both this is the case and
recent UAs implement interfaces of the W3C DOM, I would consider the
second version somewhat nearer to the "standards" than the first.
(Although I would not recommend it at the moment for the reasons given
above.)

Consider this: (window.)top is proprietary but widely supported (DOM Level
0), and if the Window object referred to by it implemented DOM Level 2
Views it had a `document' property, and if the object referred to by it
would implement the Document interface (interestingly, e.g. the Gecko DOM
implementation yields an object with the prototype HTMLDocument while this
is an identifier of an interface inheriting from Document in DOM Level 2
HTML) and so it would have a getElementById() method which application
with the above argument would return an object implementing the
HTMLIFrameElement interface (which e.g. the Gecko DOM provides) which
would have a `src' property that is not read-only.


PointedEars
 
R

Richard Cornford

Thomas said:
Richard Cornford wrote:
... HTMLIFrameElement interface (which e.g.
the Gecko DOM provides) which would have a
`src' property that is not read-only.

<quote cite="W3C Level 2 HTML DOM; HTMLIFrameElement interface">
src - of type DOMString
A URI [IETF RFC 2396] designating the initial frame contents. See the
src attribute definition in HTML 4.01.
</quote>

It may not be read-only but what does it mean to assign a URI to "the
initial frame contents"? Now if the spec said "current frame contents"
then an assignment to - src - might be expected to result in navigation,
but assigning to the initial content would do what? A frame can only
have one "initial frame contents".

As a means of navigation, assigning a value to the - src - property of
an IFRAME element should not be expected to work, according to the
applicable standard.

Richard.
 
T

Thomas 'PointedEars' Lahn

Richard said:
Thomas said:
Richard Cornford wrote:
... HTMLIFrameElement interface (which e.g.
the Gecko DOM provides) which would have a
`src' property that is not read-only.

<quote cite="W3C Level 2 HTML DOM; HTMLIFrameElement interface">
src - of type DOMString
A URI [IETF RFC 2396] designating the initial frame contents. ^^^^^^^
See the src attribute definition in HTML 4.01.
</quote>
[...]

Point taken, thanks. Should be changed to either `current'
or read-only, though. W3C member anyone? ;-)


PointedEars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top