2010-02-27 6 views
9

Ich habe .TXT-Dateien, die meist (wirklich) HTML-Dokument sind (sie haben den Header, Body, HTML-Tags etc.). (Ich arbeite hier in Windows-Umgebung). Ich möchte, dass jeder Browser sie leicht als HTML-Dokument liest (HTML-Dokument mit normalem .html Suffix). Im Moment muss ich die .txt-Datei umbenennen, um sie im Browser lesen zu können (Beispiel: myfile.txt -> myfile.txt.htm). Jeder Trick, den wir anwenden können, um den Browser sofort zu täuschen?Wie erzwinge ich, dass eine TXT-Datei von Browsern als HTML-Dokument gelesen wird?

Relative Frage: Gibt es einen Code, den ich über diese .txt-Datei hinzufügen könnte, so dass nur .txt-Dateien mit diesem Code als HTML-Dokument geöffnet und als solche von Browsern gesehen werden? (Code könnte alles mit hexadezimalem Editor von plain ascii hinzugefügt werden). Vielen Dank.

+0

Öffnen Sie diese Dateien über einen HTTP-Server oder öffnen Sie sie nur aus Ihrem lokalen Dateisystem? zB: Beginnt die Adressleiste mit Datei: oder http: wenn Sie eine dieser Dateien in Ihrem Browser betrachten? –

+0

es ist nur lokal - kein Webserver betroffen. (so ist es als Datei geöffnet: /// ...). – volvox

+0

Es könnte eine dumme Frage sein, aber wenn sie HTML-Dateien sind, warum nennst du sie '* .txt' und nicht' * .html'? –

Antwort

8

Da Sie die Datei direkt aus Ihrem Dateisystem gerade lesen (dh : unter Verwendung einer file: URL anstelle von http: oder etwas anderes) verwendet Ihr Browser die Erweiterung, um den Inhaltstyp der Datei zu bestimmen. Wie diese Zuordnung von Erweiterung zu Inhaltstyp vorgenommen wird, variiert von Browser zu Browser (und zu einem gewissen Grad auch von OS zu OS).

Zunächst einmal sollte ich sagen, dass ich ein bisschen Angst davor hätte, diese Art von Veränderung zu machen. Es gibt wahrscheinlich viel Code, der eine fest codierte Annahme hat, dass .txt auf text/plain mappt, so dass das Mapping wahrscheinlich alle Arten von bösen Fehlern aufdeckt. Vorbehalte beiseite, hier ist, was Sie tun müssen:

In Firefox ExternalHelperAppService wird verwendet, um den Typ von file: URIs zu bestimmen. Beachten Sie, dass einer der Schritte ist, eine hartcodierte Liste der Erweiterung zu verwenden, um Mappings zu typisieren, die am wahrscheinlichsten .txt Mapping zu text/plain hat.

In IE stammen die Dateitypzuordnungen von den Betriebssystemeinstellungen. Je nachdem, mit welcher Version von Windows es sich handelt, variiert sie ein wenig, aber normalerweise im selben allgemeinen Teil der Einstellungen, in dem Sie auswählen, welches Programm für jede Erweiterung ausgeführt werden soll, können Sie für jede Erweiterung auch einen MIME-Typ festlegen. (Dies ist auch der Ort, an dem Firefox im Schritt "das Betriebssystem wird nach einem MIME-Typ gesucht" auf der Seite, mit der ich oben verlinkt bin, aussieht.) Wenn Sie den MIME-Typ für .txt an text/html gesendet haben, sollten Sie das Verhalten von Ihnen erhalten wollen.

0

Es ist die HTTP-Header, die Ihr Browser zeigt, welche Art von Daten es wird übertragen, so müssen Sie die Einstellungen Ihres Web-Server bearbeiten

+0

Also ... beim Umbenennen der Datei, was fügt die .html-Erweiterung zu einer regulären Textdatei hinzu, um als HTML-Dokument gelesen und behandelt zu werden? – volvox

+0

Er teilt dem Webserver mit, welcher Inhaltstyp die bestimmte Datei ist. – Joe

+0

@volvox: Die meisten Webserver (einschließlich IIS) haben Dateizuordnungen, die Dateierweiterungen in MIME-Typen konvertieren (.txt => text/plain, .html => text/html usw.) - Browser verwenden diese Art von Informationen, um zu bestimmen, wie um Inhalt zu interpretieren – rpetrich

-3

Speichern Sie den Text mit seinen Htm-Codes in WORDPAD als OPEN Dokumenttext. Verwenden Sie im Namen der Datei die Erweiterung .htm. Das hat für mich funktioniert.

+0

-1 das OP explizit erwähnt, dass sie die Dateien nicht umbenennen wollen –

-6

Sehr einfache Lösung für Ihr Problem.

Speichern Sie das Dokument beim Speichern mit der Erweiterung .html oder .htm.

Wenn Sie zum Beispiel eine Datei mit dem Namen success speichern müssen, geben Sie anstelle von 'success' entweder 'success.html' oder 'success.htm' ein.

+0

Kann mir jemand sagen, warum ich das -2 habe? –

+4

Lesen Sie die Frage beim nächsten Mal richtig. Das OP hat erwähnt, dass im Moment die Umbenennung der Dateien der einzige Weg ist, aber etwas anderes wollte, eine bessere Lösung. Dem OP zu sagen, die Dateien umzubenennen, ist wahrscheinlich keine gute Antwort. Und du solltest glücklich sein, dass es nur -2 ist. – benka

Verwandte Themen