XSLT und mhtml / MIME-Typen / document.open
spun
- javascript
Hallo,
ich habe ein Problem: und zwar will ich per XSLT aus einer XML Datei (mit Base64 kodierten Bildern) eine MHTML Datei generieren. Grundsätzlich funktioniert das auch alles, in soweit, dass mir Firefox (2.0.0.16) wie der Internet Explorer 7 (bzw. 6) mir den korrekten Quelltext anzeigen.
Das Problem ist nur folgendes: ich bekomme es einfach nicht hin, dass der Text als Quelltext interpretiert wird! Habe schon viel mit xsl:output rumgespielt, bzw habe versucht den Output über Javascript in ein neues Dokument zu schreiben; das Ergebnis ist bei beiden Möglichkeiten das Gleiche: der MIME-Typ wird scheinbar einfach ignoriert, und ich habe keinen blassen Schimmer woran das liegt. Ich habe auch einige Möglichkeiten für die MIME-Typen durchprobiert, fast alle multipart message usw.
Gibt es eine andere Möglichkeit den Mimetyp festzulegen? Bin leider auf Javascript und ActiveX-"Standard"-Objekte angewiesen.
Eine andere Möglichkeit die ich mir überlegt habe, wäre ein Word-ActiveX Element zu nutzen, was grundsätzlich zum öffnen von MHT taugt, dabei stellen sich aber zwei Fragen, wie bekomme ich meinen MHT-"Stream" (oder so) nach Word, und wie könnte mir Word dann das Ergebnis zurückliefern, ohne irgendwelche Dateien zwischenzuspeichern... Naja diese Möglichkeit wäre eh nicht so toll.
Am liebsten wäre mir wenn ich PHP-like einfach den Header für das Javascript-Document festlegen könnte. Weiß da irgendjemand was..??
Vielen Dank - spun
Hallo!
Ich weiß nicht ob Dir das hilft, aber Du kannst den Quelltext auch direkt per Link öffnen.
<a href="view-source:http://www.domain.tld/datei">Link</a>
Gruß
Roland
Hi,
danke erstmal, das kannte ich noch nicht.. Ne aber ich hab mich blöd ausgedrückt. Vielleicht ums einfacher zu machen, lassen wir mal den ganzen XML Quatsch weg; das Problem könnte z.B. auch in php sein, wenn man eine php-Seite hat die eine Bilddatei zurückgeben soll. Lässt man da diese "header()"-Funktion weg, gibt einem der Browser auch nur hässliche Rohdaten aus, also so zB "xyüü JFIF _-~!"$" usw.
Jetzt kannst ja in php einfach den MIME-Typ in diesen header Befehl packen, und alles funktioniert wunderbar. Jetzt muss ich das Ganze nur irgendwie so hinbekommen, dass ich das auch in Javascript hinbekomme, und in der Theorie könnte ja das Ganze auch gehen; man kann dynamisch ein neues Dokument erstellen und auch Header-Informationen angeben also mit z.B.: document.open("message/rfc822","replace"); dachte ich mir sollte es gehen, um eine MHTML-Dokument zu erstellen. Will aber absolut nicht. Nicht mal mit "text/plain" oder sonst irgendwas, die Angaben zum MIME-Typ wird immer ignoriert.
Aber da muss es doch eine Möglichkeit geben das zu machen? Wenn nicht mit Javascript direkt, dann vielleicht mit irgendeinem ActiveX-Steuerelement? (Was ich finde ein sehr nebulöses Thema ist und man bei Microsoft AFAIK keine gescheite Referenzen dazu findet)
Ich habe es ja schon hinbekommen diese mht Datei mittels ActiveX mit Word unsichtbar zu öffnen den Text im Browser ausgeben zu lassen, und dann zu schließen - aber dann sind wieder die blöden eingebetteten Bilder aus der mht-Datei nicht dabei.
Wenn es da ein Objekt vom Typ mhtml mit einer Möglichkeit gäbe direkt Daten zu übergeben, dann wäre das genau das was ich bräuchte, denn der Internet Explorer KANN ja eigentlich diese mht-Dateien öffnen - aber das geht dann zu weit in irgendwelche WSH Geschichten rein, da habe ich absolut keine Ahnung von... Weiß da jemand vielleicht was?!??