Elya: Nochmal der Resize Bugfix für NN4.x in Frames...

Hallo Ihr Lieben,
nachdem ich jetzt so ziemlich alle Scriptvarianten zu o.g. Thema durchhabe, die aber letztenendes alle auf ein und dasselbe (aktuelleWeite != innerWidth etc.) hinauslaufen, ich

http://forum.de.selfhtml.org/archiv/2002/3/7011/#m38878

und http://selfhtml.teamone.de/javascript/beispiele/fensterueberwachen.htm

gelesen habe - und sogar das automatische Dreamweaver-Script nochmal probiert habe - muß ich noch mal nachhaken: Bei mir klappt's mit dem Reload bei Resize im Frameset einfach nicht. Ich habe statt window.reload usw. auch mal parent.framename.usw. probiert, aber auch da gibt es beim Resize einfach keine Reaktion.

Könnt Ihr mir folgen? Oder wollt Ihr Codeschnipsel - aber das Problem und auch die Scripte dazu sind ja eigentlich bekannt. Nur: wer hat wirklich eine funktionierende Lösung?

Danke für jeden weiterführenden Hinweis! Und: Ja ich weiß daß NN 4.7 nicht mehr sooo relevant ist ;-)

Gruß aus Ehrenfeld
Elya

  1. Gruß aus Ehrenfeld   -----> KÖLLE?
    Elya

    Hi,
    ich verfolge diese board eigentlich nicht, also weiß ich nicht was der Stand der Dinge dazu ist, aber nach meiner Erfahrung mit den NS4 resize-Problem gibt es 2 gute Möglichkeiten:

    1. Du packst die ganze chose in einen table. Klein, fein, wirkungsvoll. (Falls du das noch nicht kanntest - kann ich mir eigentlich nicht vorstellen?)

    2. Das script, das auf einer meiner Seiten (diese html-Seite ist Teil eines framesets) funzt geht folgendermaßen:

    <script type="text/javascript">
    <!--
    var layertoCheck = "name_des_layers";
    function fixNetscapeCSS()
     {
     current_width = document.layers[layertoCheck].document.width;
     current_height = document.layers[layertoCheck].document.height;

    if (current_width != start_width || current_height != start_height)
      {
      location.reload();
      }
     }
    if (document.layers)
     {
      onresize = fixNetscapeCSS;
     }
     //-->
    </script>

    Im body steht dann ZB:

    <div id="name_des_layers">
    <table border="0" cellpadding="0" cellspacing="0" width="100%"

    height="200" bgcolor="#336699" background="bild.jpg">
    <tr><td> </td></tr></table>
    </div>

    <script type="text/javascript">
    function getlayerDimensions(theLayer)
     {
     if (document.layers)
      {
      start_width = document.layers[theLayer].document.width;
      start_height = document.layers[theLayer].document.height;
      }
     }
    getlayerDimensions(layertoCheck);
    </script>

    ....so klappts auch mit dem Frameset ;-) ganz ohne inner width.
    Viel Spass,

    Inzaire

    1. Hi Inzaire,
      vielen Dank für deine ausführliche Antwort.

      1. Du packst die ganze chose in einen table. Klein, fein, wirkungsvoll. (Falls du das noch nicht kanntest - kann ich mir eigentlich nicht vorstellen?)

      Absolut positionierte divs in eine Tabelle packen? Klingt für mich ziemlich exotisch und invalide (schönes Wort... ;)) aber ich probier's mal aus!

      1. Das script, das auf einer meiner Seiten (diese html-Seite ist Teil eines framesets) funzt geht folgendermaßen:

      Das heißt du checkst statt der Screengröße die Größe des Layers - wenn ich jede Menge Layer (DHTML-Navi) auf der Seite habe, muß ich die Funktion also bei jedem Layer aufrufen, oder? Und wenn die Layer feste Größen haben - kann es dann überhaupt greifen? NN4 vergißt eben die CSS, also die Position der Layer; die Größe ändert sich eigentlich nicht.

      ....so klappts auch mit dem Frameset ;-) ganz ohne inner width.
      Viel Spass,

      naja an diesem Problem ist mir ehrlich gesagt der Spaß vergangen ;-)

      Gruß Elya

      1. Hi Inzaire,
        vielen Dank für deine ausführliche Antwort.

        1. Du packst die ganze chose in einen table. Klein, fein, wirkungsvoll. (Falls du das noch nicht kanntest - kann ich mir eigentlich nicht vorstellen?)

        Absolut positionierte divs in eine Tabelle packen? Klingt für mich ziemlich exotisch und invalide (schönes Wort... ;)) aber ich probier's mal aus!

        Nein, Mißverständnis. Du packst den Inhalt des Divs in eine große, unsichtbare Tabelle, aber das äußerste Element des Divs bleibt natürlich <div>!

        Zu dem script kann ich mich vielleicht später nochmal äußern, wennich mehr Zeit habe!

        Inzaire