inovag: Fenstergrösse an anderes Frame übergeben

Hallo,
ich habe folgendes Problem:
Ich habe eine index.html mit 5 Frames. Eines davon ist die footer.html. Ich möchte jetzt im Footer die Fenstergrösse mit (window.innerHeight) und (window.innerWidth) auswerten und anzeigen. Da die Grösse nur in der index.html messbar ist, möchte ich die beiden Variablen in der index.html messen und an den footer weitergeben. Bei Grössenänderung der Index muss sich die Grösse im footer natürlich mitverändern.

Hat jemand eine Idee wie ich das machen kann?
BSP auf: www.inovag.ch

Danke und Gruss
Oli

  1. Hallo Inovag !

    ich habe folgendes Problem:

    bald nichtmher ;-)

    Ich habe eine index.html mit 5 Frames. Eines davon ist die footer.html. Ich möchte jetzt im Footer die Fenstergrösse mit (window.innerHeight) und (window.innerWidth) auswerten und anzeigen.

    seit wasnn ist window.innerHeight denn innere Höhe... ? MEIN GOTT - hallo ? Das geht nur mit NETSCAPE 4, dass ist dir klar, oder ?
    Tipp: lass das
    Tipp 2: Du brauchst die werte nicht erst rausfinde. Schau dir dein <frameset> in der Frameset-Datei an, und du bist klüger.

    Da die Grösse nur in der index.html messbar ist,

    falsch. Ich kann sie z.B. auch von einem anderen Frame messen, z.B.

    parent.frame["footer"].innerHeight

    schaue dir dazu mal Selfhtml an...

    möchte ich die beiden Variablen in der index.html messen und an den footer weitergeben. Bei Grössenänderung der Index muss sich die Grösse im footer natürlich mitverändern.

    Ein Frame verändert seine größe nich... doch, wenn der User es macht. Dann musst du die Größe eben alle ... Sekunden messen oder in den body folgendes einbauen (beispiel):

    z.B: frameset:        --------------------
                          |                  |
                          |        top       |
                          |------------------|
                          |______foot________|

    dann machst du in foot folgenden body rein:

    <body onload="top.rausfinden()" onresize="top.rausfinden()">

    und in top dann:

    function rausfinden()
    {
     alert(parent.frame["foot"].window.innerWidth); // INNERWIDTH GEHT NUR IN NS - NICHT BENUTZEN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    }

    benji

    --
    Those who know don't talk.
    Those who talk don't know.
    1. Interessant finde ich, dass benji dir zwar davon abrät
      <code>window.innerWidth</code> und <code>window.innerHeight</code> zu verwenden, dir aber keine gültige alternative anbietet.

      Hier ein ausschnitt aus einer Seite von mir, die beide Browser bedient:
      <pre>
      var _w;//Breite
      var _h;//Hoehe
      function groessenAenderung(){
        if(window.innerWidth){
         _w = window.innerWidth;//Netscape
        }else if(document.body && document.body.offsetWidth){
         _w = document.body.offsetWidth;
        }else{
         _w = 0;
        }
        if(window.innerHeight){
         _h = window.innerHeight;
        }else if(document.body && document.body.offsetHeight){
         _h =  document.body.offsetHeight;
        }else{
         _h = 0;
        }
        move();
      }
      </pre>
      und hier das Body-Element dazu:
      <code><body onresize="groessenAenderung()"></code>

      Also inovag, lass dich nicht stressen, von denen die in grossbuchstaben schreiben, denn...

      Those who know don't talk.
      Those who talk don't know.

      1. Danke für die Tips!
        Den Code von cbrpnk hatte ich schon in mein footer eingebaut. Das Problem ist aber dass die Variablen nicht immer sauber übergeben werden. Im header habe ich eine DHTML Menüleiste, damit diese immer zentriert ist, liest sie die Fensterbreite aus einem js das vom header gespiesen wird. Aber wie gesagt, das funktioniert nicht immer reibungslos. Darum habe ich mein Frameset neu aufgebaut:

        ----------------
        ¦  ¦___3____¦  ¦
        ¦  ¦        ¦  ¦
        ¦1 ¦   4    ¦ 2¦
        ¦  ¦        ¦  ¦
        ¦  ¦--------¦  ¦
        -------5--------

        Auf diese Weise kann ich der Menüleiste eine fixe Position zuweisen. Im footer möchte ich aber zur Info noch die aktuelle Fensterbreite und Höhe bekanntgeben. Da die footer(5) innerHeight ja nicht über die ganze Breite geht, müsste ich entweder 1+2 dazuzählen oder die Breite und die Höhe in der Index messen und diese dann in den footer übergeben, oder?

        Bsp: Framset alt http://www.inovag.ch
        Bsp: Framset neu http://www.inovag.ch/inovag

        Ist dies überhaupt möglich? Habe gehört dass man globale Variablen machen kann. Cookies möchte ich vermeiden.

        Danke euch
        gruss oli

      2. schon mal was davon gehört, dass hier kein HTML interpretiert wird ?