externe html mit dynamischer Höhe einbinden

skomsnaes

Mitglied
Hallo Zusammen,

ich habe folgendes vor:
Ich möchte gerne eine HTML Datei in eine andere html Datei einbinden (ob als iframe ode object ist dabei egal), wobei das eingebundene Fenster/ Objekt eine feste Breite hat.

Allerdings kenne ich im voraus den Inhalt nicht, das heißt, ich kann keine feste Höhe für das Fenster angeben. Mein Problem ist, dass wenn ich keine Höhe angebe, das eingebettete etwas gar nicht erst angezeigt wird. Das Fenster soll die eingebettete Seite einfach nur vollständig anzeigen, ohne Scrollbars zu erzeugen bzw. etwas abzuschneiden. Hat da jemand eine Idee?

Ach ja: da das ganze eine lokal auszuführende Anwendung wird, scheiden php oder andere serverseitige Programmierungen aus.

Danke schon mal
 
Das Problem ist, dass JS keinen Zugriff auf externe Dokumente ermöglicht...somit lässt sich auch nicht ermitteln, wieviel Platz die Darstellung des Dokumentes in Anspruch nimmt.

Wenn du statt dem IE die Sache in MSHTA ausführen lassen würdest, ginge es allerdings...da ist auch Zugriff auf externe Dokumente möglich.

Die Herangehensweise wäre: gebe dem iFrame eine feste Grösse...wenn das Dokument im iFrame geladen ist:ermittle seine Höhe(document.body.offsetHeight)...fertig.

Es gäbe auch eine elegantere Methode: Ermittle per XMLHttpRequest den Quelltext des Dokumentes und gebe ihn schlicht in einem Container aus....ggf. müsstest du da noch relative Pfade(Links, Grafiken, etc. anpassen)
 
Hhmm, Danke schonmal.

Leider ist keine der Lösungen so recht passend, aber um mal eine andere Idee zu verfolgen:
Gibt es eine Möglichkeit bei einem iframe festzustellen, ob dieses mit Scrollbars oder ohne dargestellt wird?

Man könnte ja z.B. die Grundeinstellung auf "Auto" setzen und dann so lange die Scrollbars da sind das iframe größer machen. Wenn keine Scrollbars da sind, weiß ich, dass meine Datei komplett ins Frame passt.

Wäre das möglich?
 
Schade :(

Gegen MSHTA spricht die Natur des Projektes. Es geht dabei nämlich um eine Hilfe Anwendung, die zu einer Software gehört. Die Software hat ihren eigenen kleinen Browser, der nach meinen bisherigen Tests mit dem IE-kompatibel ist (deshalb kann ich Dir auch keine Versionsnummer sagen). Auf jeden Fall sollen die Seiten in diesem "Mini-Browser" dargestellt werden. Bisher ist es so gelöst, dass die Höhe der Dokumente in einer XML Datei notiert ist und ich mir die jeweilige Höhe vor Zusammenstellung der Seite suche. Allerdings ist das editieren der XML Datei bei Veränderung einer HTML Datei eine potentielle Fehlerquelle (wird nämlich einfach vergessen), die ich gerne umgehen würde.

Deshalb die Frage nach alternativen Methoden.

Aber Danke für die Mühe.
 
Dann bliebe dir immer noch XMLHttpRequest(bzw. WinHttpRequest).

Wenn ich dich recht verstehe...läuft es so: der Browser öffnet die lokal gespeicherte Hilfedatei.... wahrscheinlich mit diversen Bedienelementen etc. ....die eigentlichen Hilfedateien sind jedoch online...

Dann würde das problemlos gehen.... denke ich.
 
Ja, die Idee an sich ist nicht schlecht,...

allerdings ist das in der Umsetzung aus genau dem Grund für mich nicht interessant, den Du ja auch schon genannt hast: Die Pfade zu den Bildern.
Zum Einen Sind die Hilfedateien ein "Mischmasch" aus online und nicht online und ich will mir nicht die Freiheit nehmen und vorher bestimmen, wie das aufgebaut sein muss. Außerdem wäre es mühsam alle bereits bestehenden Dateien noch mal durchgehen zu müssen.
Und letztlich macht es meiner Meinung nach keinen Unterschied (von der "Fehler-Anfälligkeit") ob man de Größe der Datei angeben muss oder peinlich darauf achten muss wie die Pfade angegeben sind.

Ich denke ich werde wohl erstmal bei meiner Lösung mit der externen Größenangabe bleiben müssen; schade ich dachte es gibt da vielleicht einen eleganteren Weg.

Trotzdem Danke.
 

Neue Beiträge

Zurück