Problem beim Auslesen der aktuellen Fenstergröße

  • Hallihallo,
    ich möchte die aktuell nutzbare Innenfläche des clientseitigen Browserfensters auslesen. Meine Seite soll sich also öffnen
    und dann die Fensterabmessungen zurücksenden.
    Im Firefox klappt dies hervorragend mit

    Code
    BREITE = window.innerWidth;
      HOEHE = window.innerHeight;


    Leider sträubt sich der IE mir diese Infos ebenfalls zu liefern. Ich habe vermutlich schon alle relevanten Links per google gesichtet.
    Dabei wird immerwieder diese Befehlsfolge genannt:

    Code
    BREITE = document.body.clientWidth;
        HOEHE  = document.body.clientHeight;


    Leider funktioniert dies bei mir (IE Win V6) nicht. Ich bekomme als Antwort dann einen Scriptfehler mit dem Wortlaut:

    Zitat

    Objekt erforderlich

    und dabei wird auf das B von BREITE verwiesen.

    Wer weiß woran das liegt bzw. kann mir n Tip geben?

    "Carpe Diem" powered by positiv Feelings

  • Also mich interessiert dabei eher die Höhe des Fensters. Mein body-Tag trägt das Style "overflow:hidden", weshalb ich Besuchern,
    die beispielsweise einige Toolbars geöffnet haben einen kleinen Hinweis geben will, dass der Inhalt besser zu sehen ist, wenn
    diese Toolbars deaktiviert werden.

    "Carpe Diem" powered by positiv Feelings

  • Moin!

    "window.innerWidth" und "window.innerHeight" sind Netscape-Syntax, die versteht der IE nicht.

    Die Angabe "document.body.offsetWidth" oder "document.body.offsetHeight" sind wiederum reine IE-Syntaxe und Mozilla kennt sie nicht. Außerdem funktinieren sie nur, wenn der Seitenbody bereits erstellt ist, d.h. du kannst ie Daten erst auslesen, wennn die Seite komplett geladen ist. Dazu bezieht sich der Wert bei Frames auf die Body-Breite (Höhe) des Frames, in dem das Script notiert ist.

    Abgesehen davon werde ich garantiert keine meiner Tollbars schließen, nur damit ich eine Webseite so sehen kann, wie der Webmaster es möchte. Spätestens wenn ich meine eigene, von dir nicht beinflußbare, Schriftart und ~größe benutze stimmen deine Angaben ohnehin nicht mehr.

    G.a.d.M.

    Ronald

  • Zitat von Ronald

    "window.innerWidth" und "window.innerHeight" sind Netscape-Syntax, die versteht der IE nicht.


    Jupp, schon klar. Deshalb hatte ich das oben auch so angeführt.

    Zitat von Ronald

    Außerdem funktinieren sie nur, wenn der Seitenbody bereits erstellt ist, d.h. du kannst ie Daten erst auslesen, wennn die Seite komplett geladen ist.


    Ich denke, dass genau dies der entscheidende Hinweis war. THX.

    Zitat von Ronald

    Abgesehen davon werde ich garantiert keine meiner Tollbars schließen, nur damit ich eine Webseite so sehen kann,


    JA, JA ... is' scho' klar! Dass euch immer gleich n Draht aus dem Hut fliegt, sobald die Site ein klein wenig Eigenleben entwickelt.
    Ich wiederhole gern nochmal. Manche Layouts wirken einfach besser in einer festen Größe. Selbst in anerkannten Standardwerken zum
    Thema werden feste Layouts (auch die Möglichkeit des window.resizeTo) nicht verteufelt, sondern es wird lediglich der Hinweis darauf
    gegeben, dass durch die Deaktivierung von JS diese Funktionalität verloren geht.

    Sorry, dass ich mich n bissel aufrege, aber dieses ewige Genörgele ala "Ich lass meine Fenster nicht resize'n." oder "Meine Toolsbars
    pass ich niemals an." geht mir nach einiger Zeit nunmal auf den Geist. Is ja ok, dann macht ihr es halt nicht. Basta.

    Aber trotzdem Danke für den Hinweis, denn ich denke schon, dass es daran gelegen hat.

    GreenRover:
    Die Thematik, dass die Properties in den beiden Browsermodies unterschiedliche Werte ausgeben, war mir schon bekannt. (siehe link)
    Browser-Dimension-Table

    "Carpe Diem" powered by positiv Feelings