<img src=""> verkürzen
Eric Teubert
- css
Hi,
Also, was ich machen möchte, ist viele Bilder auszugeben, die auch oft dieselben sind. Um Traffic zu sparen, möchte ich dies nicht per
<img src="langerdooferpfad">
ausgeben, sondern lieber durch
<img class="a">.
Das heißt, im CSS müsste ich dann das Bild angeben, habe aber nur den Befehl background:url gefunden - nicht schlimm, damit könnte ich auch arbeiten. Aber <img> scheint immer src="" zu erwarten und somit gibt er mir kein Ergebnis aus ( bzw nur eine weiße Fläche ).
Sonst einer noch ne Idee?
Achja, um nochmal zu unterstreichen, dass dies für mich wirklich ziemlich nützlich wäre: Ich gebe 2500 Bilder aus - nur 12 verschiedene ;)
mfg
Eric
hy,
wie wäre es, wenn du einfach eine session-variable definierst, die die pfad + evtl. den dateinamen enthält - dann kannste diese einfach immer an die stelle setzen... setzt allerdings php/cf o.ä. voraus...
hi
Sonst einer noch ne Idee?
du nimmst als source ein transparentes gif, welches die größe des bildes hat.
dann kannst du mittels css das eigentliche bild in den hintergrund packen.
so long
ole
(8-)>
Hallo
Sonst einer noch ne Idee?
Falls der Webserver Komprimierung bei der Übertragung unterstützt, ist die sicherlich effektiver als jede Verkürzung.
Hallo Ole,
der Browser müßte doch "eigentlich theoretisch" die Datei nur einmal anfordern. Die anderen Requests müßten dann "eigentlich" aus dem Browsercache kommen. Hast Du das ganze schon einmal "wirklich" geprüft, werden wirklich 2500 "Filedownloads" durchgeführt.
Bei meinen Spielen mache ich immer folgendes:
Wenn die Seite geladen ist und damit "onload" feuert, gehe ich durch alle anderen IMG-Elemente, die bisher noch keine Source haben , und setze dort, die Source auf das "einmal" geladene Bild. Jetzt "muß" der Cache benutzt werden. Oft gehe ich auch hin und "clone" das eine Bild und füge es dann dynamisch ins HTML-Dokument ein.
tschau, vielleicht hab' ich Dir ja geholfen.
Frank
P.S. Mein Puzzle tut so etwas ähnliches.
Hallo Frank
Hallo Ole,
Ich habe damit nichts zu tun, der Probant den du suchst ist Eric ;)
so long
Ole
(8-)>
Hast Du das ganze schon einmal "wirklich" geprüft, werden wirklich 2500 "Filedownloads" durchgeführt.
Hallo Frank,
Ich habe mich vielleicht nicht deutlich genug ausgedrückt. Mir geht es nicht um den Download der Bilder ( die befinden sinch nämlich schon auf dem Rechner des Users und werden per file://~~ geladen -> kein Traffic )
Mir geht es lediglich darum, den QUELLCODE zu verkürzen.
mfg
Eric
Hallo Eric,
okay, und wie wäre dann der Clone-Versuch:
for (var i=0;i<2500;i++)
document.body.appendChild(oldImg.cloneNode(true))
tschau
Frank
<img src="langerdooferpfad">
Eric,
Das ist sogar noch zu kurz: Das alt-Attribut (Pflicht!) fehlt.
<img class="a">
Das wird nichts. Aber mit div. Im Stylesheet legst du für die div-Klassen Breite, Höhe und Hintergrundbild fest.
Gunnar
Das wird nichts. Aber mit div. Im Stylesheet legst du für die div-Klassen Breite, Höhe und Hintergrundbild fest.
Das hatte ich auch schon probiert - jetzt weiß ich, warum es nichts wurde ... hatte im Stylesheet den "." vor dem Element vergessen ... naja. Jetzt zeigt er auf jeden Fall schon etwas an, nur leider nicht in der richtigen Größe.
Hier mal ein Quellcodeauszug:
<head>
<style type="text/css">
<!--
body{background:url( file:/c:/cr/background.gif)}
div
{
position:absolute;
border-width:0;
width:20px;
height:18px;
}
.a{background-image:url( file:/c:/cr/a_rohling.gif)}
.b{background-image:url( file:/c:/cr/a_null.gif)}
.c{background-image:url( file:/c:/cr/a_wasser.gif)}
.d{background-image:url( file:/c:/cr/a_strand.gif)}
-->
</style>
</head>
<div style="top:33px;left:117px;" class='b'></div>
<div style="top:52px;left:117px;" class='b'></div>
<div style="top:71px;left:117px;" class='b'></div>
<div style="top:90px;left:117px;" class='b'></div>
<div style="top:109px;left:117px;" class='b'></div>
<div style="top:128px;left:117px;" class='b'></div>
...
..
..
.
top und left wird per PHP erzeugt, darum geht es mir jetzt nicht. Mich wundert nur, dass ich im Stylesheet bei "div" die Größen angegeben habe und er sie aber ignoriert - ich bekomme lediglich ganz winzige Bilderchen angezeigt.
»»ich bekomme lediglich ganz winzige Bilderchen angezeigt.
Nachtrag:
Hab jetzt das Problem genauer:
Ich verwende größere Bilder und er zeigt mir nur einen kleinen Teil an, anstatt sie zu quetschen. Wie erreiche ich diesen Quetscheffekt? ( ohne das Bild extra mit einem Programm zu verkleinern und erneut hochzuladen )
mfg
Eric
Ich verwende größere Bilder und er zeigt mir nur einen kleinen Teil an, anstatt sie zu quetschen. Wie erreiche ich diesen Quetscheffekt?
Mit CSS bei Hintergrundbildern gar nicht.
( ohne das Bild extra mit einem Programm zu verkleinern und erneut hochzuladen )
Aber genau so.
Gunnar
( ohne das Bild extra mit einem Programm zu verkleinern und erneut hochzuladen )
Aber genau so.
Okay, so hab ichs jetzt gelöst.
Vielen Dank noch mal an alle für die schnelle und kompetente Hilfe!
mfg
Eric
Hi!
<img src="langerdooferpfad">
Wenn es dir vor allem um den 'langendoofenpfad' geht: Du kannst
evtl. im Kopf einen Standardpfad angeben. Dann kannst du die Bilder
ganz einfach ueber nur den Bildnamen einlinken.
Wenn du Links auf andere Seiten hast, musst du dann bei _denen_
allerdings den ganzen Pfad schreiben wie bei externen Links.
Du musst also abwaegen. Ich bin mir auch nicht ganz sicher, ob
es bei Bildern auch so laeuft, ich hab es fuer externe Links
in einer clickable Map so gemacht:
<base href="http://www.geocaching.com/seek/">
Und das hatte IMHO _auch_ Auswirkungen auf die Bildeinlinkungen. Ist aber
lange her und jongliere in den Dateien zudem mit verschiedenen
Servern (Bilder/Links/Includes). Bin also nicht ganz sicher, probier
es bitte selbst aus. Vielleicht geht ja auch 'base src' ;-)
Herzliche Gruesse
Nicola