Discussion:
IFrame aus JS-Code neu laden
(zu alt für eine Antwort)
Arnd Ißler
2006-05-18 08:14:12 UTC
Permalink
Guten Morgen,

kann mir einer von euch vielleicht sagen, wie ich mit IE/FF den Inhalt
eines iframes neu lade? Ein
document.getElementById('blubbblubbkleinerfisch').refresh() gibt es ja
nicht bzw.
document.getElementById('blubbblubbkleinerfisch').location.reload() gibt
es auch nicht :)

Danke für eure Hilfe! Gruesze,
arnd.
Thomas 'PointedEars' Lahn
2006-05-18 10:43:05 UTC
Permalink
Post by Arnd Ißler
kann mir einer von euch vielleicht sagen, wie ich mit IE/FF den Inhalt
eines iframes neu lade? Ein
document.getElementById('blubbblubbkleinerfisch').refresh() gibt es ja
nicht bzw.
document.getElementById('blubbblubbkleinerfisch').location.reload() gibt
es auch nicht :)
`location' ist eine Eigenschaft von Window-Objekten, nicht von
HTMLIFrameElement-Objekten. Für maximale Kompatibilität musst
Du dem iframe-Element einen Namen statt einer ID geben und
kannst dann das entsprechende Window-Objekt mit

window.frames['nameDesIFrame']

referenzieren. Die derzeit[1] einzig (fast) standardkonformen,
aber weniger kompatiblen Alternativen sind

f.contentWindow.reload();

f.contentDocument.defaultView.reload();

f.contentWindow.location = f.contentWindow.location;

und

f.contentDocument.defaultView.location =
f.contentDocument.defaultView.location;

mit

f = document.getElementById('idDesIFrame');

(bzw. getElementsByName(), getElementsByTagName() usw.). Wobei solche
Referenzwürmer natürlich zugunsten ordentlicher Feature-Tests vermieden
werden sollten.[3]


PointedEars
___________
[1] <URL:http://www.w3.org/TR/Window/#location>
<URL:http://whatwg.org/specs/web-apps/current-work/#the-window>
(lädt lange!)
[2] <URL:http://pointedears.de/scripts/test/whatami#inference>
Martin Honnen
2006-05-18 11:55:02 UTC
Permalink
Post by Arnd Ißler
kann mir einer von euch vielleicht sagen, wie ich mit IE/FF den Inhalt
eines iframes neu lade?
<iframe name="iframeName" src="whatever.html"></iframe>

var iframe = window.frames.iframeName;
(oder auch
var iframe = window.frames['iframName'];
)
dann
if (iframe != null) {
iframe.location.reload();
}
--
Martin Honnen
http://JavaScript.FAQTs.com/
Sven Drieling
2006-05-18 12:33:24 UTC
Permalink
Arnd Ißler wrote:

Hallo,
Post by Arnd Ißler
kann mir einer von euch vielleicht sagen, wie ich mit IE/FF den Inhalt
eines iframes neu lade? Ein
Mit .src= geht es

document.getElementById('blubbblubbkleinerfisch').src="neuerInhalt.html"

gängiger ist eigentlich

.location.href=


tschuess
[|8:)

Loading...