externe Seiten laden + z-index alternative bei IE?
Gerhard Feil
- dhtml
Hallo,
Ich suche eine brauchbarere Möglichkeit, externe Dateien in einem Layer zu laden.
momentan benutze ich folgende Methode:
********************
function load(page) {
if (ns4) document.text1.src = page
else if (ie4) parent.Fenster.document.location = page }
----im Body----
<DIV ID = "text1" CLASS = "text">
<iframe src="" name="Fenster" width=650 height=510 align=left scrolling=no>
</iframe>
</DIV>
<A HREF="javascript:load('inhalte/extern.htm')"
****************
Diese Methodebringt allerdings beim IE zwei Schönheitsfehler mit sich.
1. das iframe erzeugt einen ungewünschten Rahmen
2. der z-index von DIV ID="text1" wird nach dem laden der externen Seite nicht mehr berücksichtigt.
Diese Methodebringt allerdings beim IE zwei Schönheitsfehler mit sich.
- das iframe erzeugt einen ungewünschten Rahmen
- der z-index von DIV ID="text1" wird nach dem laden der externen Seite nicht mehr berücksichtigt.
zu 1: frameborder="no"
zu 2: sobald du <iframe> benutzt, kannst Du vergessen, dass da ein Layer drumrum ist. Du wirst also das Problem nicht nur mit z-index haben. Lies also die Datei in ein unsichtbares <iframe> ein und weise dann text1 diesen Inhalt mit innerHTML zu. Das loest beide Probleme
Viele Gruesse, Thomas Hieck
»» Lies also die Datei in ein unsichtbares <iframe> ein und weise dann text1 diesen Inhalt mit innerHTML zu. Das loest beide Probleme
Viele Gruesse, Thomas Hieck
Hallo Thomas
ich habe Deinen Vorschlag wohl falsch verstanden oder fehlinterpretiert denn mit der neuen Methode habe ich immer noch das selbe Ergebnis.
function load(page) {
if (ns4) document.text1.src = page
else if (ie4) parent.Fenster.document.location = page;
document.all.text1.innerHTML = document.all.Fenster.innerHTML }
<DIV ID = "text1" CLASS = "text">
</DIV>
---------------
<IFRAME SRC="inhalte/anlagen.htm" NAME="Fenster" SCROLLING="No" WIDTH="600" HEIGHT="500" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER="No"></IFRAME>
Problem:
nach wie vor wird das <iframe> angezeigt (und nicht das Div mit dem Inhalt des <iframe>)
wenn ich height und weight des ifames auf 0 setze, wird die Seite zwar geladen aber nicht
angezeigt.
Hallo Gerhard
Um das <iframe>-Problem ganz zu umgehen, koenntest Du beim MS IE auch mit <object type="text/html" data="datei.htm"></object> arbeiten.
viele Gruesse
Stefan Muenz
Hallo Gerhard,
nur nochmal kurz ein wenig genauer.
<DIV ID = "text1" CLASS = "text">
</DIV>
jetzt noch
<IFRAME STYLE="display:none" NAME="puffer"></IFRAME>
Dann laedst Du Deine Datei ganz normal in das IFRAME. Ist das geschehen kannst Du mit
document.all["text1"].innerHTML = parent.puffer.document.body.innerHTML;
dem Layer den Inhalt des IFRAME zuweisen. Diese selbst wird ja durch "display:none" ja nicht dargestellt. - So, ich hoffe das reicht als Idee erstmal :-)
Viele Gruesse, Thomas Hieck