Martin: Netscape 4 + Layer

Hi,

völlig erstaunt frage ich mich gerade,wieso NS 4.xx sowas wie document.layers['x'].width
nicht kennt. availwidth, availablewidth, offsetwidth mag er auch nicht.

Hat das nicht mal geklappt?

Staunend
Martin

  1. Hi,

    völlig erstaunt frage ich mich gerade,wieso NS 4.xx sowas wie document.layers['x'].width
    nicht kennt. availwidth, availablewidth, offsetwidth mag er auch nicht.

    Hat das nicht mal geklappt?

    Bin mir nicht sicher, versuch mal doch mal document.layers['x'].document.width. Aber wozu will man denn sowas auslesen oder setzen??

    Mirko

    1. Guten Abend,

      Bin mir nicht sicher, versuch mal doch mal document.layers['x'].document.width.

      Nicht so ganz:
      alert (document.layers[n].clip.width);

      Aber wozu will man denn sowas auslesen oder setzen??

      DHTML?

      Viele Grüße aus Köln
      Markus

      1. Hello again,

        Bin mir nicht sicher, versuch mal doch mal document.layers['x'].document.width.

        Nicht so ganz:
        alert (document.layers[n].clip.width);

        Das ist was anderes! Das ist der angezeigte Bereich, aber width und height wären die tatsächlichen Ausmaße, die festlegen, wieviel vom Untergrund überdeckt wird (z.B. entscheidend beim Eventhandling von Maussachen - Links die durch Layer überdeckt werden, sind nicht mehr responsibel), oder aber auch, ab wann der IE anfängt, Scrollbars an's Fenster zu machen (wenn der Layer nämlich aufgrund seiner height/width nach unten/rechts rausragt - von den clip-props hängt das nicht ab!)

        Aber wozu will man denn sowas auslesen oder setzen??

        ... da frag' ich mich also, wieso man sowas setzten/auslesen will. Mir fiele da im Moment keine Anwendung ein, ist aber auch egal.

        ---

        Habe grade mal was getestet:

        Source im Head:

        <style type="text/css">
        #lejer {position:absolute; left:420; width:100; height:200}
        </style>

        Source dann im Body:
        <div id="lejer">HELLO</div><br>

        Und dann...

        Ausgabe der Eigenschaften von document.lejer (mit NN) :

        document.lejer.clip = [object Rect]
        document.lejer.document =
        document.lejer.window = [object Window]
        document.lejer.id = lejer
        document.lejer.name = lejer
        document.lejer.left = 420
        document.lejer.x = 420
        document.lejer.top = 70
        document.lejer.y = 70
        document.lejer.pageX = 420
        document.lejer.pageY = 70
        document.lejer.hidden = false
        document.lejer.layers = [object LayerArray]
        document.lejer.siblingAbove = null
        document.lejer.siblingBelow = null
        document.lejer.parentLayer = [object Window]
        document.lejer.src = null
        document.lejer.visibility = inherit
        document.lejer.above = null
        document.lejer.below = null
        document.lejer.zIndex = 0
        document.lejer.bgColor = null

        Ausgabe der Eigenschaften von document.lejer.clip (mit NN) :

        document.lejer.clip.left = 0
        document.lejer.clip.top = 0
        document.lejer.clip.right = 70
        document.lejer.clip.bottom = 200
        document.lejer.clip.height = 200
        document.lejer.clip.width = 70

        Die Breite hat er nicht übernommen, aber die Höhe wohl offenbar. Naja, vielleicht könnt ihr was mit anfangen :).

        Mirko

        1. Hallo Mirko,

          ... da frag' ich mich also, wieso man sowas setzten/auslesen will. Mir fiele da im Moment keine Anwendung ein, ist aber auch egal.

          War ja auch nicht die Fragestellung ;-)

          Habe grade mal was getestet:

          Ich auch:

          <style type="text/css">
          #lejer {position:absolute; left:420; width:100; height:200; background-color:#ff0000;}
          </style>
          <script>
          function test(){
          w = document.layers[0].clip.width;
          alert (w);
          }
          function test1(){
          w = document.layers[1].clip.width;
          alert (w);
          }
          </script>
          </head>

          <body>
          <div id="lejer">HELLO</div>
          <a href="#" onclick="test()">test</a>
          <layer id="f4" name="f4" width="100" height="200" left="420" top="50" bgcolor="#0000ff">HELLO</layer>
          <a href="#" onclick="test1()">test1</a>
          </body>

          Funktion test gibt die aktuelle Breite des div-Tags zurück, die Funktion test1 die definierte (Mindest)Breite des layer-Tags. Womit wieder eindrucksvoll bewiesen ist, daß

          a) Netscape 4.x den div -Tag nur marginal beherrscht
          b) Netscape 4.x CSS ebenso schlecht interpretiert
          c) Um gewisse dynamische Inhalte und Werte lesen, setzten und ändern zu können, Netscape 4.x zwingend den layer-Tag benötigt.

          Viele Grüße aus Köln
          Markus