Patrick Neuenschwander: iframe breite und höhe

hallo zusammen

ich habe folgendes problem: ich habe eine tabelle mit 2 feldern nebeneinander, das rechte stellt das menu dar und im linken ist ein iframe das die entsprechende website beinhaltet.
ich möchte dass die grösse des iframe an der anzeige-grösse des fenzers angepasst wird. jedoch machen mir alle browser probleme ausser opera, da funktionierts.
der code sieht wie folgt aus:

<table cellpadding="0" cellspacing="0" style="width:100%;height:100%">
  <tr>
    <td style="text-align:left;vertical-align:top">
<script language="JavaScript">
<!--
if(document.all) {
  width = document.body.clientWidth - 30;
  height = document.body.clientHeight;
}
else if (document.layers) {
  width = window.innerWidth - 30;
  height = window.innerHeight;
}
document.write ("<iframe src="http://www.jubla.ch" name="content" width="" + width + "" height="" + height + ""></iframe>");
//-->
</script>
    </td>
    <td style="width:25px">
      <a href="http://www.blabla.cd" target="content">Test</a>
    </td>
  </tr>
</table>

für eure hilfe danke ich euch bestens im voraus.

  1. der code sieht wie folgt aus:

    Mal abgesehen davon das das mißbrauchen von Tabellen zu Layoutzwecken nicht besonders elegant ist und auch in deinem Falle nicht nötig ....

    <table cellpadding="0" cellspacing="0" style="width:100%;height:100%">
      <tr>
        <td style="text-align:left;vertical-align:top">
    <script language="JavaScript">

    fehlt hier das type Attribut

    <!--
    if(document.all) {
      width = document.body.clientWidth - 30;
      height = document.body.clientHeight;
    }
    else if (document.layers) {
      width = window.innerWidth - 30;
      height = window.innerHeight;
    }

    und hast du dir mal die Werte von width und height ausgeben lassen?

    document.write ("<iframe src="http://www.jubla.ch" name="content" width="" + width + "" height="" + height + ""></iframe>");

    Außerdem gibt es auch die Möglichkeit das in Prozent anzugeben.

    Struppi.

    1. danke für's erste.

      und hast du dir mal die Werte von width und height ausgeben lassen?

      ja. das problem liegt eigentlich nur bei der höhe. opera macht, das so wie ich es will. ie, mozilla & ns geben mir bei der höhe 0 an.

      Außerdem gibt es auch die Möglichkeit das in Prozent anzugeben.

      trotzdem würde ich gerne mit genaueren pixel-angaben arbeiten.

      1. Hallo Patrick Neuenschwander

        danke für's erste.

        und hast du dir mal die Werte von width und height ausgeben lassen?

        ja. das problem liegt eigentlich nur bei der höhe. opera macht, das so wie ich es will. ie, mozilla & ns geben mir bei der höhe 0 an.

        MZ sollte undefined ausgeben.

        Außerdem gibt es auch die Möglichkeit das in Prozent anzugeben.

        trotzdem würde ich gerne mit genaueren pixel-angaben arbeiten.

        Du willst doch 100% Höhe haben?
        was soll da an Pixel genauer sein. Eher das Gegenteil ist der Fall. Da beim IE die werte stark schwanken können und davon abhängen ob die Seite im Quirks oder strict Mode dargestellt wird

        Bei der Breite ist es zugegebenermassen Schwieriger aber wie gesagt, eleganter ist das mit einer % Angabe.

        Was sehen eigentlich Besucher die - im IE absolut notwendig - JS ausgeschaltet haben?

        Struppi.

  2. Hi,

    <script language="JavaScript">

    Veraltete Syntax. HTML 4 nutzt type statt language. Kannst aber ggf. auch beide gleichzeitig verwenden.

    if(document.all) {

    Veraltete (IE 4) Syntax, die von einigen Browsern (mitunter eher schlecht) mitgeschleppt wird.

    else if (document.layers) {

    Veraltete (Nav 4.x) Syntax, die von keinem Browser mehr mitgeschleppt wird.

    Frage auf die Eigenschaften selbst ab ( z.B. if(window.innerWidth) ...) und ...

    ""></iframe>");

    ... vergiß nicht das Maskieren der Endtags in JS.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!