Cheatah: Alternative zu top.document.body.clientWidth/Height?

Hallo,

ich möchte mit JavaScript die reell verfügbare Auflösung der Clientarea herausfinden, also nicht window.screen, sondern nur den Bereich, wo die HTML-Seiten auch dargestellt werden können. Das ganze übergebe ich dann einem Counter, den ich anbieten möchte, es muß also in *jeder* Situation funktionieren.

Bei Netscape geht das problemlos mit top.innerWidth/Height. Für den MSIE habe ich das bisher mit top.document.body.clientWidth/Height realisiert, bis ein Betatester den Counter auf einer Seite eingebunden hatte, die er über eine subdomain.notrix.de verfügbar macht. Zur Info: Notrix erstellt lediglich eine Frameset-Datei, in der auf die ursprüngliche Seite verwiesen wird, der einzige Zweck ist es, die URL zu "verschönern".

Natürlich brachte der MSIE dann plötzlich eine Fehlermeldung, weil top.document auf dem Server von Notrix liegt, im Gegensatz zur fragenden Seite... das leidige Sicherheitsproblem!

Gibt es eine Möglichkeit, die Größe der Clientarea auch mit dem MSIE zu ermitteln? Für Hinweise aller Art bin ich dankbar!

Cheatah

P.S.: Ursprünglich hatte ich die Größe mit top.document.all.cxy.offsetWidth/Height ermittelt, wobei man in jedem <body>- und <frameset>-Tag noch "id=cxy" hinzufügen mußte. Das geht hier aber auch nicht.

  1. Hallo,

    Bei Netscape geht das problemlos mit top.innerWidth/Height. Für den MSIE habe ich das bisher mit top.document.body.clientWidth/Height realisiert, bis ein Betatester den Counter auf einer Seite eingebunden hatte, die er über eine subdomain.notrix.de verfügbar macht. Zur Info: Notrix erstellt lediglich eine Frameset-Datei, in der auf die ursprüngliche Seite verwiesen wird, der einzige Zweck ist es, die URL zu "verschönern".

    Dann sollte doch der NS auch das falsche machen, oder?
    Jedenfalls, hast Du's mal mit parent.document... statt top.document... versucht? Damit beziehst Du Dich nicht auf das alleroberste Fenster der Hierarchie, sondern das direkt uebergeordnete.
    Was NS betrifft, sollte doch dann parent.innerWidth heissen, nicht wahr?

    Calocybe

    P.S. Hattest Du Dein RegExpr-Problem geloest, das Du kurz vor der Forumsschliessung hattest?  (klingt wie vor dem grossen Beben, oder vor unserer Zeitrechnung <g>)

    1. Hi,

      Dann sollte doch der NS auch das falsche machen, oder?

      nein, der Zugriff auf top ist erlaubt, nur nicht der auf top.document! Oder anders gesagt: window ja, document nein.

      Jedenfalls, hast Du's mal mit parent.document... statt top.document... versucht? Damit beziehst Du Dich nicht auf das alleroberste Fenster der Hierarchie, sondern das direkt uebergeordnete.
      Was NS betrifft, sollte doch dann parent.innerWidth heissen, nicht wahr?

      Dazu siehe meine Antwort auf Leonhards Hilfe... es muß idiotensicher sein, darf also nicht mehr anzupassen sein (naja, wer sich damit auskennt darf natürlich).

      P.S. Hattest Du Dein RegExpr-Problem geloest, das Du kurz vor der Forumsschliessung hattest?  (klingt wie vor dem grossen Beben, oder vor unserer Zeitrechnung <g>)

      Du meinst die Sache mit 'Suchbegriff "mehrere Wörter" andere Begriffe'? Nein, das Problem besteht immer noch! Hast Du evtl. 'ne Lösung parat? *hoff*

      Cheatah

  2. Hallo Cheatah,

    brauchst Du für Deinen Counter unbedingt das "top" in top.document.body.clientWidth/Height?
    Wenn Du einfach document.body.clientWidth/Height wird doch die Größe des Body-Elements auch innerhalb eines Framesets ausgegeben und damit die Fenstergöße bei einem 100%-Frame wie bei notrix.de, oder übersehe ich da was?

    Gruß Leonhard

    1. Hi,

      brauchst Du für Deinen Counter unbedingt das "top" in top.document.body.clientWidth/Height?
      Wenn Du einfach document.body.clientWidth/Height wird doch die Größe des Body-Elements auch innerhalb eines Framesets ausgegeben und damit die Fenstergöße bei einem 100%-Frame wie bei notrix.de, oder übersehe ich da was?

      das ist schon richtig, das würde funktionieren. Nur finde ich es wichtiger herauszufinden, welche Auflösung insgesamt zur Verfügung steht. Natürlich kann es im Einzelfall auch wichtig sein, die verfügbare Auflösung eines Frames herauszufinden, aber dann kann man immer noch top durch window ersetzen (oder weglassen). Zumindest aber bei Homepages, deren Startseite aus einem (geschachtelten?) Frameset besteht, ist parent oder top notwendig, und da ich es meinen Kunden nicht zumuten will, für jede einzelne Seite herauszufinden, ob nun parent oder parent.parent.parent gebraucht wird, bestehe ich auf top... :-)

      Danke aber für den Einwand, ich überlege jetzt, ob ich document.body.clientWidth/Height zusätzlich auswerten lasse ;-)

      Cheatah