Seitengroesse ermitteln
Thes
- javascript
Hallo Leute,
gibt es eine Moeglichkeit die Groesse einer HTML-Seite
zu ermitteln?
Danke & Gruesse
Thes
Hi,
falls unverstaedlich:
Ich meine die KB-Groesse der Seite auf dem Client.
Thes
Sup!
Mit Javascript die Größe inklusive Grafiken etc. rauszubekommen dürfte schwierig werden.
Gruesse,
Bio
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
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
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
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
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
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
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
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
scheint mir das unverstaendlich..
Gruesse aus Berlin,
Thes
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
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.
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
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