Bernd: Netscape,Frames und Stylesheets (MAC)

Hallo,

ich habe folgendes Problem unter Netscape auf der Macintosh Plattform:

HTML-Seiten innerhalb eines Framesets verlieren ihre Stylesheet-Angaben, wenn die Größe des Browser-Fensters vom Benutzer verändert wird.

Wenn der Frameset anschließend manuell "neu geladen" bzw. aktualisiert wird, werden die Stylesheet Angaben wieder korrekt dargestellt.

Gibt es eine Möglichkeit, das Aktualisieren nach einer Größenänderung des Browserfensters zu automatisieren?
Oder existiert eine elegantere Alternative?

Danke
Bernd

  1. Hallo Bernd,

    Gibt es eine Möglichkeit, das Aktualisieren nach einer Größenänderung des Browserfensters zu automatisieren?

    Es gibt den Event-Handler onResize (JavaScript-Level 1.2 - muesste also mit Netscape 4 funktionieren). Da koennte man z.B. in Dateien, die in einem Frame angezeigt werden, notieren:
    <script language="JavaScript">
    self.onResize="self.location.reload()";
    </script>
    Ich hab jetzt aber keine Ahnung, ob das so tut wie es sollte...

    viele Gruesse
      Stefan Muenz

  2. Hallo Bernd,

    Schau mal hier nach aber auch nur für Netscape:

    http://www.net-graphics.de/Dhtml/dhtmlfort3.htm

    Antje

    1. Hallo,

      Schau mal hier nach aber auch nur für Netscape:

      »»  http://www.net-graphics.de/Dhtml/dhtmlfort3.htm

      Hm, kann es sein, dass die Seite schon etwas aelter ist?
      Mir ist naemlich nicht klar, warum MSIE kein onresize kennen soll.
      Im Gegensatz zum Navi hat der nicht mal einen Bug an der Stelle.
      Schaut Euch mal das Beispiel an, das ich vor zwei, drei Tagen zu einer Frage hier im Forum gemacht habe: http://screenexa.net/sonst/wie_gross.html

      Dieses Beispiel beruecksichtigt - so auf die Schnelle gestrickt - den Netscape-Bug nicht, hatte ich im entsprechenden Beitrag dazugesagt.
      Der stellt sich mir allerdings auch ein klein wenig anders dar als in der o.g. Seite beschrieben.
      Meiner Kenntnis nach taucht der immer dann unangenehm auf, wenn eine Seite so gross ist, dass Scrollbars gebraucht werden. Bei jedem Verlaengern feuert ein resize-Event. Und so kann es zu einem Endlos-Reload kommen.
      Dem kann man aber beikommen, ein bisschen anders, fuer meinen Geschmack auch geschickter als auf dieser Seite.
      Der "Trick": Man ermittelt die echte Fenstergroesse, merkt sich die, prueft bei der Reaktion auf resize-Event zuerst mal, ob sich diese Groesse tatsaechlich geaendert hat, veranlasst nur dann ein Neuladen.
      Ich mache das meistens etwa so:

      function merken()
      {
           Breite_vor_resize = self.innerWidth;
           Hoehe_vor_resize  = self.innerHeight;
      }
      NN = false;
      MS = false;
      if (document.layers)
      {
         NN = true;
         merken();
      }
      else
         if (document.all)
            MS = true;
      function neu()
      {
         if (NN)
         {
            if ((Breite_vor_resize != self.innerWidth) (Hoehe_vor_resize != self.innerHeight))
            {
               merken();
               history.go(0);
            }
         }
         else
            history.go(0);
      }
      window.onresize = neu;

      Christine

  3. hallo,
    ich habe es so geloest, die function ist auf NC beschraenkt, denn MSIE hat das Problem ja nicht. Im Frame oder Body-tag steht dann noch: onResize="neuladen()"
    Gruss Joachim

    function browser()
    {
    var browser=navigator.appVersion.lastIndexOf('Net');
    }

    function neuladen()
    {
    if (browser!=-1)
      {
      self.location.reload();
      }
      }