Sven: innerWidth/Height Equivalente im IE?

Hallo!

Ich bin zur Zeit auf der Suche nach equivalenten Eigenschaften des IE zu innerWidth/Height. Habe ein wenig gegoogelt und herausgefunden, dass dies angeblich die Eigenschaften document.body.offsetWidth und document.body.offsetHeight sein sollen, aber das stimmt nicht! offsetWidth/Height liefert mir die _gesamte_ Breite und Höhe des Anzeigebereiches inkl. den nicht sichbaren Bereichen, welche über die Scrollbalken erreicht werden können (Beispiel: innerHeight ist 640 Pixel groß, die Seite ist zwei "Bildschirmseiten" lang, offsetHeight würde mir daher 1280 liefern). Ich benötige jedoch die tatsächliche Breite des inneren Anzeigebereiches, welches der Benutzer zur Zeit sieht.

Bin für jede Hilfe dankbar!

  1. Hab's schon selber herausgefunden! Der IE muss im "Standard Compliance Mode" laufen, dann gibt es auch die Eigenschaften document.documentElement.clientWidth und document.documentElement.clientHeight.

    Aber kann mir jemand mal bitte den Unterschied zwischen document.documentElement.clientWidth/Height und document.documentElement.offsetWidth/Height erläutern?

    1. Hallo,

      Aber kann mir jemand mal bitte den Unterschied zwischen document.documentElement.clientWidth/Height und document.documentElement.offsetWidth/Height erläutern?

      client bezieht sich auf die nutzbare Flaeche innerhalb des Fensters, waehrend offset die Rahmen und Scrollbars einschließt.

      Zum Testen: http://www.styleassistant.de/tips/screen.htm

      MfG, Thomas

      --
      SVG - Learning By Coding
      http://svglbc.datenverdrahten.de/
  2. Hi,

    Ich bin zur Zeit auf der Suche nach equivalenten Eigenschaften des IE zu innerWidth/Height. Habe ein wenig gegoogelt und herausgefunden, dass dies angeblich die Eigenschaften document.body.offsetWidth und document.body.offsetHeight sein sollen

    Leider verhaelt IE sich je nach Version eigenwillig, auch macht es einen Unterschied, ob er im Quirks-Modus oder im Html 4x-Modus laeuft.
    Ich habe mir mal das zusammengebastelt:

    // dom oder nicht?
    var docEl =  (document.documentElement && document.all)? "documentElement" : "body";
    function winSize() {
     if (window.innerWidth) {
      breit   =  self.innerWidth;
      hoch    =  self.innerHeight;
     } else {
      breit   =  document[docEl].clientWidth;
      hoch    =  document[docEl].clientHeight;
     }
     alert(breit);
    }

    hth + Gruesse  Joachim