Thes: Seitengroesse ermitteln

Hallo Leute,

gibt es eine Moeglichkeit die Groesse einer HTML-Seite
zu ermitteln?

Danke & Gruesse
Thes

  1. Hi,

    falls unverstaedlich:
    Ich meine die KB-Groesse der Seite auf dem Client.

    Thes

    1. Sup!

      Mit Javascript die Größe inklusive Grafiken etc. rauszubekommen dürfte schwierig werden.

      Gruesse,

      Bio

      --
      Never give up, never surrender!!!
      1. Hallo Bio,

        Mit Javascript die Größe inklusive Grafiken etc. rauszubekommen dürfte schwierig werden.

        Warum dürfte das schwierig werden?

        Welches sind die Alternativen, die du vorschlägst?

        File Griese,

        Stonie

        --
        It's no good you trying to sit on the fence
        And hope that the trouble will pass
        'Cause sitting on fences can make you a pain in the ass.
        Und im Übrigen kennt auch Stonie Wayne.
        1. Moin

          Warum dürfte das schwierig werden?

          weil JavaScript nicht auf Dateiebene arbeitet, sondern nur mit den Infos, die dein Browser liefert, auskommen muss. Und da steht eben nix über Dateigrößen drin.

          Gruß
          rfb

          --
          Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
          (Galileo Galilei)
    2. Ich meine die KB-Groesse der Seite auf dem Client.

      Die sollte inklusive aller eingebundenen Objekte (CSS- und/oder Javascriptdateien, Grafiken) nahezu identisch mit der Größe auf dem Server sein. Da du mit Javascript auf Clientseite keine derartigen Dinge ermitteln kannst, wäre alternativ eine serverseitige Lösung möglich (z.B. Einfügen einer Zeile "Diese Ressource ist inklusive aller eingebundenen Objekte x kB groß").

      Was du wie machen könntest, hängt allerdings entscheidend davon ab, warum du das machen willst.

      Siechfred

      1. Hallo,

        Die sollte inklusive aller eingebundenen Objekte (CSS- und/oder
        Javascriptdateien, Grafiken) nahezu identisch mit der Größe auf dem
        Server sein. Da du mit Javascript auf Clientseite keine derartigen
        Dinge ermitteln kannst, wäre alternativ eine serverseitige Lösung
        möglich (z.B. Einfügen einer Zeile "Diese Ressource ist inklusive
        aller eingebundenen Objekte x kB groß").

        Meinst du, dass PHP zB die Groesse der anzuzeigenden Bilder, welche
        lediglich Referenzen auf irgendwelche URLs im Web sind, berechnet?
        Ich denke, PHP bekommt rein gar nichts davon mit, wenn zum Beispiel
        eine Adresse zu einem Bild nicht (mehr) vorhanden ist, etc..
        Aber ich wiess es nicht, werde mich da erst noch schlau machen muessen.

        Was du wie machen könntest, hängt allerdings entscheidend davon ab,
        warum du das machen willst.

        Nein, das tut es nicht. Es wuerde vielleicht deine Neugierde
        befriediegen - nicht aber den Sinn entfachen, denn dieser ist
        bereits vorhanden ;)

        Gruesse
        Thes

        1. Meinst du, dass PHP zB die Groesse der anzuzeigenden Bilder, welche
          lediglich Referenzen auf irgendwelche URLs im Web sind, berechnet?

          Ja, denn PHP kann - im Gegensatz zu Javascript - via HTTP eine Ressource von einem fremden Server anfordern und den HTTP-Header Content-Length auswerten. Und dass PHP mit einfachen arithmetischen Aufgaben zurecht kommt, versteht sich von selbst.

          Ich denke, PHP bekommt rein gar nichts davon mit, wenn zum Beispiel
          eine Adresse zu einem Bild nicht (mehr) vorhanden ist, etc..

          Dafür gibt es HTTP-Statuscodes, damit weiß PHP durchaus umzugehen.

          Aber ich wiess es nicht, werde mich da erst noch schlau machen muessen.

          http://www.php.net/manual/de/ref.http.php zum Einstieg.

          Was du wie machen könntest, hängt allerdings entscheidend davon ab,
          warum du das machen willst.
          Nein, das tut es nicht. Es wuerde vielleicht deine Neugierde
          befriediegen - nicht aber den Sinn entfachen, denn dieser ist
          bereits vorhanden ;)

          Gut, dann eben nicht.

          Siechfred

          1. Hallo Siechfred,

            Ja, denn PHP kann - im Gegensatz zu Javascript - via HTTP eine Ressource von einem fremden Server anfordern und den HTTP-Header Content-Length auswerten. Und dass PHP mit einfachen arithmetischen Aufgaben zurecht kommt, versteht sich von selbst.
            Dafür gibt es HTTP-Statuscodes, damit weiß PHP durchaus umzugehen.

            Das stimme ich dir natuerlich vollends zu. Doch wenn ich ein Bild mittels des HTML-Image-Tags einbinde, so befinde ich mich doch nicht im Wirkungskreis von PHP?

            http://www.php.net/manual/de/ref.http.php zum Einstieg.

            OK

            Nein, das tut es nicht. Es wuerde vielleicht deine Neugierde
            befriediegen - nicht aber den Sinn entfachen, denn dieser ist
            bereits vorhanden ;)
            Gut, dann eben nicht.

            Na, ich hab doch extra einen Smily dahinter gepackt..

            Gruesse
            Thes

            1. Das stimme ich dir natuerlich vollends zu. Doch wenn ich ein Bild mittels des HTML-Image-Tags einbinde, so befinde ich mich doch nicht im Wirkungskreis von PHP?

              Der Client fragt, der Server antwortet, so funktioniert HTTP. Wie die Serverantwort zustand kommt, ist dabei egal. Der Client merkt nicht, ob das empfangene HTML statisch auf dem Server liegt oder dort von irgendeinem Programm zusammengesetzt wird.

              Etwas anderes wäre es natürlich, wenn man sich nicht im HTTP-Umfeld bewegt.

              Gut, dann eben nicht.
              Na, ich hab doch extra einen Smily dahinter gepackt..

              Habe ich gesehen :)

              Siechfred

              1. Hallo Siechfred,

                Das stimme ich dir natuerlich vollends zu. Doch wenn ich ein Bild mittels des HTML-Image-Tags einbinde, so befinde ich mich doch nicht im Wirkungskreis von PHP?

                Der Client fragt, der Server antwortet, so funktioniert HTTP.

                Schon klar. Doch es ging mir darum, dass ich Bilder nunmal mittels
                <img> einbinde. Als src irgendeine URL. Und auf diese Art und Weise
                laeuft das doch dann unabhaendig von PHP. Es koennte ja auch reines
                HTML sein. Per se wird PHP doch gar nicht wissen (koennen) wie gross
                nun das Bild sein wird, welches hinter der Quellenangabe steckt.
                Ausser ich binde das ueber einen PHP-Wrapper ein. Aber wie gesagt,
                ohne weiteren Aufwand meinerseits

                http://www.php.net/manual/de/ref.http.php

                scheint mir das unverstaendlich..

                Gruesse aus Berlin,
                Thes

                1. Doch es ging mir darum, dass ich Bilder nunmal mittels <img> einbinde. Als src irgendeine URL.

                  Dann müsste wieder ein Programm auf dem Server das statische HTML parsen, die Bilder herausfiltern, einzeln abfragen und die Größe ermitteln.

                  Und auf diese Art und Weise laeuft das doch dann unabhaendig von PHP. Es koennte ja auch reines HTML sein. Per se wird PHP doch gar nicht wissen (koennen) wie gross nun das Bild sein wird, welches hinter der Quellenangabe steckt.

                  Selbstverständlich. Aber weder HTML noch eine clientseitige Technik wird dich zum Ziel führen, mal abgesehen von (VB|J)Script, falls du nur IEs bedienen willst. Du brauchst für dein Vorhaben entweder die Angabe aus einer anderen Quelle, sodass du sie statisch ins HTML einfügen kannst, oder du musst serverseitig dein HTML entsprechend ergänzen.

                  Btw, wie wäre es mit SSI?

                  Siechfred

          2. gruss Siechfred,

            Meinst du, dass PHP zB die Groesse der anzuzeigenden Bilder, welche
            lediglich Referenzen auf irgendwelche URLs im Web sind, berechnet?

            Ja, denn PHP kann - im Gegensatz zu Javascript - via HTTP eine Ressource
            von einem fremden Server anfordern und den HTTP-Header Content-Length
            auswerten. ...

            das in den letzten jahren so viel bemuehte [[XMLHttpRequest]]-objekt ist
            doch nichts anderes als ein HTTP-client. das die meisten anwender mit AJAX
            nur das nachladen von inhalt in form von XML- oder plain-text- dokumenten
            verbinden steht auf einem anderen blatt. reine header-abfragen sind ueber
            diese schnittstelle ohne weiteres moeglich(, wenn die server mitspielen) -
            schematisches bsp.:

            [[XMLHttpRequest]].getResponseHeader("Content-Length");

            so long - peterS.

            --
            »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
            Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
            ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]
            1. das in den letzten jahren so viel bemuehte [[XMLHttpRequest]]-objekt ist doch nichts anderes als ein HTTP-client.

              Ja. Ich habe deshalb extra "fremder Server" geschrieben, denn im AJAX-Kontext gilt nunmal die Same-Origin-Policy. Und so, wie ich Thes verstanden habe, sind die HTML-Dateien und die eingebundenen Grafiken nicht unter der gleichen Domain erreichbar, damit scheidet AJAX allein aus.

              reine header-abfragen sind ueber diese schnittstelle ohne weiteres moeglich(, wenn die server mitspielen) - schematisches bsp.:

              Das ist mir alles bekannt, aber im konkreten Fall hilft es m.E. nichts.

              Siechfred

              1. hallo again Siechfried,

                ...
                Ja, denn PHP kann - im Gegensatz zu Javascript - via HTTP
                eine Ressource von einem fremden Server anfordern und den
                HTTP-Header Content-Length auswerten. ...

                das in den letzten jahren so viel bemuehte [[XMLHttpRequest]]-
                objekt ist doch nichts anderes als ein HTTP-client.

                Ja. Ich habe deshalb extra "fremder Server" geschrieben, ...

                asche auf mein haupt; dieses entscheidende wort habe ich leider
                vollkommen ueberlesen, womit - vor diesem hintergrund gesehen ...

                ... denn im AJAX-Kontext gilt nunmal die Same-Origin-Policy.
                Und so, wie ich Thes verstanden habe, sind die HTML-Dateien
                und die eingebundenen Grafiken nicht unter der gleichen
                Domain erreichbar ...

                ... - die JavaScript-option tatsaechlich ausscheidet.

                reine header-abfragen sind ueber diese schnittstelle ohne
                weiteres moeglich(, wenn die server mitspielen) ...

                Das ist mir alles bekannt, aber im konkreten Fall hilft es m.E. nichts.

                jo.

                so long - peterS. - pseliger@gmx.net

                --
                »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
                Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
                ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]