Christoph Schnauß: Inline-Grafiken

Beitrag lesen

tach Forum ;-)

unter den Feature-Artikeln gibt es einen über Inline-Grafiken (siehe http://aktuell.de.selfhtml.org/artikel/grafik/inline-images/index.htm, mit dem ich mich mal wieder beschäftigt habe ... die vorgestellte Methode funktioniert mit Netscape auch in Version 6.2, allerdings nicht mit dem IE. Ich wollte nun wissen, ob es nicht doch auch eine Methode gibt, das irgendwie mit dem IE zu machen. Es scheint einen Weg dazu zu geben, allerdings bissel verquer, und dazu hätte ich gerne eure Meinungen. Folgendes:
Der IE und Outlook Express nutzen teilweise dieselben Bibliotheken (zum Beispiel mshtml.dll). OE kann nun für mails auch HTML verwenden und zum Beispiel Hintergrundbilder einbinden (jaja, ich weiß, manche protestieren da lautstark). Man kann sich mal selber so eine mail schicken und beispielsweise mit dem Namen "bild.eml" irgendwo auf der Platte ablegen. Wenn man die über "öffnen mit" mit dem IE (5.5 oder höher) aufmacht, geht das völlig problemlos. Auch Netscape 4.7 zeigt wenigstens den eventuell noch drinstehenden Text an, ein Hintergrundbild allerdings nicht, während Netscape 6 nichts macht, sondern herunterladen will. Interessanterweise gibt der IE als "Quelltext" so etwas an:

<HTML><HEAD></HEAD>
<BODY bgColor=#ffffff background=cid:000701c17075$48ba0680$0101a8c0@ph1>
</BODY></HTML>

das heißt, über das eingebundene Bild gibt es keine Informationen, die man sich "klauen" könnte. Macht man sich so eine "bild.eml" mal mit einem Texteditor auf, ergibt sich ungefähr folgendes:

Content-Type: multipart/related; type="multipart/alternative";
 boundary="----=_NextPart_000_0009_01C1706D.C8A44700"

------=_NextPart_000_0009_01C1706D.C8A44700
Content-Type: multipart/alternative;
 boundary="----=_NextPart_001_000A_01C1706D.C8A44700"

------=_NextPart_001_000A_01C1706D.C8A44700
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

------=_NextPart_001_000A_01C1706D.C8A44700
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<BODY background=3Dcid:000401c17065$5e93d900$0101a8c0@ph1>
</BODY></HTML>

------=_NextPart_001_000A_01C1706D.C8A44700--

------=_NextPart_000_0009_01C1706D.C8A44700
Content-Type: image/gif;
Content-Transfer-Encoding: base64
Content-ID: 000401c17065$5e93d900$0101a8c0@ph1

R0lGODdhIANYAvcAABoA/hgA/gAA/gAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAz
zAAz/wBmAABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM
/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNm
ADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/
MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2Zm
ZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/
mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlm

Das geht noch mehrere hundert Zeilen so mit den ASCII-Zeichen weiter (und ich habe im mail-Header bereits kräftig gestrichen). Man kann sich nun das Ganze von einem Script (PERL, obs mit Javascript alleine auch geht weiß ich nicht, PHP müßte es können, hab ich noch nicht probiert) überreichen lassen und schwuppdiwupp, das gewünschte Bild steht in der Seite, ohne daß es eine eigene Datei braucht. Schreibt man jetzt noch eine Browserabfrage mit Javascript, ist das Ergebnis nahezu "browserunabhängig".
Allerdings ist das Ganze etwas wacklig und sehr aufwendig gegenüber dem gewohnten <img src="bilddatei">.

Meine Frage an euch ist nun, ob es nicht doch noch einen kürzeren Weg gibt, solche "Inline-Grafiken" einzusetzen und ob es sich lohnt, überhaupt in dieser Richtung herumzubasteln. Man kann aus solcher Bastelei sicherlich eine Menge Erkenntnisgewinn ziehen, der Nutzen für die Praxis scheint mir gegenüber anderen Techniken merh als fraglich.

Gruß

Christoph S.