Closed
Bug 293326
Opened 20 years ago
Closed 20 years ago
iframe onload handler fires when new page is loaded inside
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: vlad, Unassigned)
Details
Attachments
(1 file)
345 bytes,
text/html
|
Details |
Bug 292691 relies on having loader() fire when the XXX link is clicked, in:
<iframe onload="loader()"><a href="http://foo/">XXX</a></iframe>
Attachment demonstrates the calling of the function.
Reporter | ||
Comment 1•20 years ago
|
||
Test case
Comment 2•20 years ago
|
||
vlad tested IE, it does the same (and set the de-facto standard here, AFAIK).
This is unusual. Ever since I promulgated "DOM level 0" (it was all just
"JavaScript" then), you could preset onload on a window or frame and then load
something in it, and your onload would run (with the usual same-origin security
checks, in bugfixed browser releases ;-).
But once you loaded a second page, the first page's event handlers, including
any preset (via an HTML attribute, or an assignment statement before the first
page was loaded) handlers, would be cleared.
Where is the code in our tree that makes a special case for iframe onload, to
preserve it across the second load?
/be
![]() |
||
Comment 3•20 years ago
|
||
> Where is the code in our tree that makes a special case for iframe onload, to
> preserve it across the second load?
The handler is set on the <iframe> HTML element, not on the window inside the
iframe. So changes to the window inside the iframe don't affect the existence
of the handler. No special handling necessary there.
The special handling to _fire_ the handler is
http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsGlobalWindow.cpp#941
Comment 4•20 years ago
|
||
Right, we talked about this, and it just shows how old I am that I don't treat
iframes as different from frames, but they are (the element is akin from an
event handling point of view to a single-frame frameset element, if such a thing
were possible).
/be
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
Comment 5•20 years ago
|
||
Oh, and can't framesets nest? If so, the same could in theory be done with a
nested frameset, it could have an onload handler and *it* could fire when a
child frame is loaded. Not that I've tested this, but I just thought about it
and realized that it'd probably work with nested framesets too. But either way,
that's per design, I'd say.
Updated•20 years ago
|
Group: security
![]() |
||
Updated•18 years ago
|
Flags: in-testsuite?
You need to log in
before you can comment on or make changes to this bug.
Description
•