Sworddancer: CSS fliegt bei Netscape raus...

Heyoh!

Ich habe bei Netscape (4.75) das Problem, dass immer wenn ich die Grösse des Browserfensters ändere, die ganze CSS Formatierung rausgeschmissen wird - d.h. der Text wird dann wieder in der Defaultform gezeigt. Ist das unumgänglich, oder gibts Abhilfe. Liegt ja vermutlich daran, dass die CSS-Datei nicht wieder geladen wird, da Netscape beim Fenstergrösse ändern nur ein halbes Reload macht. Wenn ich sonst die Seite reloade hab ich keine Probs.

Das CSS-File ist extern (ist ja der Witz der ganzen Sache, da ich es praktischer finde, das Design immer nur in einem File zu ändern und nicht in 40), ich definiere im CSS nur BG-Farbe, Font-Farbe, -Grösse und -Typ. Ach ja... die ganze Seite ist in einem riesen Frameset untergebracht (6 verschachtelte Frames).

Danke :)
Sworddancer

  1. Hallo,

    Ich habe bei Netscape (4.75) das Problem, dass immer wenn ich die Grösse des Browserfensters ändere, die ganze CSS Formatierung rausgeschmissen wird - d.h. der Text wird dann wieder in der Defaultform gezeigt. Ist das unumgänglich, oder gibts Abhilfe. Liegt ja vermutlich daran, dass die CSS-Datei nicht wieder geladen wird, da Netscape beim Fenstergrösse ändern nur ein halbes Reload macht. Wenn ich sonst die Seite reloade hab ich keine Probs.

    Es handelt sich um den so genannten "Resize-Bug" von Netscape 4.x. Man kann diesen mit einem JavaScript umgehen, welches bei Aenderung der Fenstergroeße einen Reload ausfuehrt, siehe http://www.styleassistant.de/tips/tip35.htm. Das ist insofern legitim, weil es in diesen Browsern ohne JavaScript auch keine CSS-Umsetzung gibt.

    Man kann es aber auch lassen, weil Benutzer dieser Browser mittlerweile auch dieses Verhalten kennen duerften und den Reload perfekt beherrschen ;-).

    MfG, Thomas

    1. Heyoh!

      Es handelt sich um den so genannten "Resize-Bug" von Netscape 4.x. Man kann diesen mit einem JavaScript umgehen, welches bei Aenderung der Fenstergroeße einen Reload ausfuehrt, siehe http://www.styleassistant.de/tips/tip35.htm. Das ist insofern legitim, weil es in diesen Browsern ohne JavaScript auch keine CSS-Umsetzung gibt.

      Vielen Dank für den Tipp - scheint bei mir aber nicht wirklich zu fuktionieren... da die Seite ja aus einem Framset besteht - in welche seite muss ich nun den Javascript einfügen. Im Indexfile wohl nicht, da dort die Funktion im Body-Tag gar nicht aufgerufen wird - sonstwo funzt es aber auch net :(

      Man kann es aber auch lassen, weil Benutzer dieser Browser mittlerweile auch dieses Verhalten kennen duerften und den Reload perfekt beherrschen ;-).

      Naja, es gibt auch solche, die noch nie auf diesen hübschen Button gedrückt haben, weil sie Angst haben, dass sie damit ihre Festplatte löschen ;)

      Grüsse
      Sworddancer

      1. Hallo Sworddancer,

        Heyoh!

        Vielen Dank für den Tipp - scheint bei mir aber nicht wirklich zu fuktionieren... da die Seite ja aus einem Framset besteht - in welche seite muss ich nun den Javascript einfügen. Im Indexfile wohl nicht, da dort die Funktion im Body-Tag gar nicht aufgerufen wird - sonstwo funzt es aber auch net :(

        Probiers doch mal mit folgender Version (Die musst du im head deiner index-datei reinkopieren.)

        <script type="text/javascript" language="JavaScript">
           if(netscape4){
              widthCheck = window.innerWidth
              heightCheck = window.innerHeight
              window.onResize = resizeFix;
              function resizeFix() {
                if (widthCheck != window.innerWidth || heightCheck != window.innerHeight){
                  document.location.href = document.location.href;
                  }
              }
              </script>

        Gruss magnus

      2. Hallo,

        Vielen Dank für den Tipp - scheint bei mir aber nicht wirklich zu fuktionieren... da die Seite ja aus einem Framset besteht - in welche seite muss ich nun den Javascript einfügen. Im Indexfile wohl nicht, da dort die Funktion im Body-Tag gar nicht aufgerufen wird - sonstwo funzt es aber auch net :(

        Dann top.location.reload(); aufrufen. Mal probieren, ob es im aeußersten <frameset ...>-Tag feuert (also in die Startdatei einbauen) oder in die einzelnen Frames aufnehmen (ggf. praktikabel, wenn dort bereits auf eine externe JS-Datei verwiesen wird).

        Ich habe gerade mal noch auf die Umgehung des im BODY-Tag streng genommen nicht erlaubten OnResize durch window.onload=...; verwiesen.

        MfG, Thomas

        1. Korrektur:

          Ich habe gerade mal noch auf die Umgehung des im BODY-Tag streng genommen nicht erlaubten OnResize durch window.onload=...; verwiesen.

          window.onresize war gemeint.

          MfG, Thomas