iFrame für alle Browser?
nobody1407
- browser
0 Encoder0 nobody14070 nobody14070 Encoder
Hallo,
normalerwise lese ich nur die Beiträge und verschiedenen Artikel und bisher wurden meine Fragen immer ausreichend beantwortet. Nun bin ich aber an einem Punkt, wo ich euch direkt fragen muss :)
Ich hab eine Website die ich derzeit mit iFrames aufgebaut hab, da das obere "Logo" relativ groß ist und nicht immer neu geladen werden soll. Die Website ist nun perfekt, hab die einzelnen iFrames mit einem JavaScript so eingerichtet, das die Gesamt-Seitenlänge automatisch vergrößert wird, so das keine Scrollbalken im iFrame auftauchen.
ABER..,..leider funktioniert das nicht so einwandfrei mit allen Browsern. Firefox nimmt die iFrames und stellt die Seite Fehlerfrei dar, aber mit Chrome werden die iFrames bzw. die eingebetteten HTML Seiten "abgeschnitten"
Habt ihr eine Idee wie ich das für relativ viele Browser anpassen kann?
Ich hab folgenden Code verwendet:
<script type="text/javascript">
var framefenster = document.getElementsByTagName("iFrame");
var auto_resize_timer = window.setInterval("autoresize_frames()", 400);
function autoresize_frames() {
for (var i = 0; i < framefenster.length; ++i) {
if(framefenster[i].contentWindow.document.body){
var framefenster_size = framefenster[i].contentWindow.document.body.offsetHeight;
if(document.all && !window.opera) {
framefenster_size = framefenster[i].contentWindow.document.body.scrollHeight;
}
framefenster[i].style.height = framefenster_size + 'px';
}
}
}
</script>
vielen dank im voraus für eure Hilfe! :)
Habt ihr eine Idee wie ich das für relativ viele Browser anpassen kann?
Denke nicht nur an viele Browser, sondern auch an viele User die in den gängigen Browsern Javascript ausgeschaltet haben. Ich weiß nicht wie viele das sind, aber bei mir würde deine Seite wahrscheinlich erst mal ziemlich schlecht aussehen, da ich Noscript aktiviert habe.
Ich glaube deine Idee ist nicht optimal, sie macht einen recht fehleranfälligen und aufwendigen Eindruck, der dann doch nie so recht funktioniert. Ich würde einen anderen Ansatz wählen. Zum Beispiel das Logo irgendwie kleiner machen.
Ja ich würde das Logo gerne kleiner machen, aber dem, dem die Seite gewidmet ist, fand das sehr gut und möchte das nun so beibehalten. Ich hab gehofft, das es evtl. eine möglichkeit gibt, die mit fast allen Browsern kompatibel ist..
Eine Aufteilung mit oben/unten würde mir vollkommen reichen. Der iFrame ist ja kein "Kasten" mit ner bestimmten Breite, die unbedingt eingehalten werden muss. Gibt es vielleicht eine möglichkeit mit php oder css?
Ich fand das mit den DIV Containern ganz interessant und ist vermutlich
auch mit allen Browsern kompatibel, aber leider komm ich nicht drauf,
wie ich eine html Datei dort einbinden kann..?!
Eine ganze html Datei geht nicht, aber der in ein div passende Teil schon. AJAX ist das Stichwort.
Wie viele Aufrufe erwartet die Seite und wie groß ist das Logo?
Ich könnte mir vorstellen dass dein Aufwand zum Traffic sparen velleicht nicht wirklich im Verhältnis zum tatäschlich eingesparten Traffic steht.
Gib dem Bild einen Header mit der es im Browser cachen lässt, das ist vielleicht die sauberere Methode und zu zerreißt die Webseite nicht mit iframes.