gs-500.de

gs-500.de (https://forum.gs-500.de/index.php)
-   Computer, Handy, Technik, ... (https://forum.gs-500.de/forumdisplay.php?f=23)
-   -   html/js: gesammthöhe des dokuments: wie gehts? (https://forum.gs-500.de/showthread.php?t=11916)

Sumpfmensch 05.06.2007 12:34:45

html/js: gesammthöhe des dokuments: wie gehts?
 
Hi!

Ich versuche grade ein bisschen in HTML und JavaScript rum zu tricksen.

Ich habe das Problem, dass ich herausfinden muss, wie "hoch" ein HTML dokument ist, damit ich ein Iframe dementsprechend vergößern kann!

Also das genaue Problem ist folgendes:

Ich habe ein Iframe.
an dieses Iframe komm ich über:
Code:

document.getElementById('iframeId')
Dort kann ich dann die Höhe über das Attribut 'height' in Javascript verändern.
An das Window bzw Frame Objekt dieses Iframes komm ich einfach mit seinem Namen.
An das 'document' Objekt komm ich dementsprechend über:
Code:

iframeName.document
Also hab ich ja quasi alle Infomationen die es zu dem Iframe und seinem Inhalt gibt verfügbar.

Nur, wo finde ich jetzt die Gesammthöhe des Dokuments?

Ich will nämlich nicht, dass man sofort sieht, dass das ein Iframe ist!
(aus dem Grund werde ich Scrollbars und border deaktivieren. Damit man aber alles lesen kann, muss das Iframe ja immer dem Dokument entsprechend hoch sein!)

Fixe Höhen fallen aus, da ich immer andere Dokumente in dem Iframe anzeige.

Vielen Dank schon mal für die Hilfe

Arkon 05.06.2007 12:41:22

antwort, mal ganz einfacher vorschlag

tabellen laypout? die tabelle passt sich ja automatisch an die größe seines inhaltes an

oder die schönere variante <div> container verwenden

Sumpfmensch 05.06.2007 13:33:16

Danke schon mal für die Antwort.

Aber das ist nicht das, was ich suche.

Ich möchte ja eine gesammte HTML-Seite einbinden.
Inklusive Head, body, etc .... und das kann man ja nicht einfach in en div oder td tag reinpacken.

Außerdem sind das ca 30 verschiedene Dateien, die in diesem Iframe sein könnten (ist dynamisch zugewiesen über php)


Noch eine weitere Information, falls die jemand braucht:
Der Inhalt des Iframes wird nicht mehr geändert, wenn die seite einmal an den Client gesendet wurde.

acid 05.06.2007 13:42:31

hat die klasse document keine methode oder attribute, mit denen du auf die höhe zugreifen kannst? das wäre jetzt das erste was mir einfällt.

Sumpfmensch 05.06.2007 13:47:36

ja, sie hat attribute und methoden, aber halt nicht die, die ich brauche ... da steht nix von height oder ählichem ...

aber ich bin die ganze zeit am googlen ... vllt find ich ja noch was

(für weitere ideen, bin ich trotzdem dankbar :wink: )

murdock 05.06.2007 13:53:44

keine ahnung, ob ich dich richtig verstanden habe, aber reicht es dir nicht zu wissen, wie "hoch" das fenster ist?
das täten:
Code:

window.innerHeight/Width

document.body.clientHeight/Width

document.documentElement.*clientHeight/Width

jedoch wird glaube ich nicht alles von jedem browser unterstützt.

Sumpfmensch 05.06.2007 14:40:59

nene, ich wollte wissen wie hoch das fenster sein müsste, um das dokument ohne scrollbalken aufnehmen zu können.

habs jetzt folgendermaßen gemacht:

Code:

function resizeIframe()
{
        frame = document.getElementById('resizeIframe');
        frame.height = iframeName.document.body.scrollHeight+30;
       
        if(iframeName.document.body.scrollWidth+30 < 900)
        {
                frame.width = iframeName.document.body.scrollWidth+30;
        }
        else
        {
                frame.width = 900;
        }
               
}

Das "+30" muss ich dazu tun, weil der blöde IE wiedermal mist baut und seltsamerweise nicht den passenden wert zurück gibt, sondern einen, der ein bisschen kleiner ist.

Also: Problem gelöst!

Danke für eure Ideen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14:53 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.