2010-02-27 20 views
9

Tengo archivos .txt que en su mayoría son (realmente) documentos html (tienen las etiquetas de encabezado, cuerpo, html, etc.). (Estoy trabajando en el entorno de Windows aquí). Me gustaría que cualquier navegador los lea fácilmente como documento html (documento html con sufijo .html normal). En este momento tengo que cambiar el nombre del archivo .txt para poder leerlo en el navegador (por ejemplo: miarchivo.txt -> miarchivo.txt.htm). ¿Algún truco que podamos aplicar para engañar al navegador de inmediato?¿Cómo forzar un archivo txt a leerse como un documento html por los navegadores?

Pregunta relativa: ¿Hay algún código que pueda agregar sobre el archivo .txt para que solo los archivos .txt con ese código se abran como documento html y sean vistos como tales por los navegadores? (El código podría ser cualquier cosa añadida con editor hexadecimal de ascii simple). Gracias.

+0

¿Está abriendo estos archivos a través de un servidor HTTP, o simplemente los está abriendo desde su sistema de archivos local? es decir: ¿la barra de direcciones comienza con el archivo: o http: cuando estás viendo uno de estos archivos en tu navegador? –

+0

es local solamente - no se trata de un servidor web. (por lo que se abre como archivo: /// ...). – volvox

+0

Puede ser una pregunta estúpida, pero cuando se trata de archivos HTML, ¿por qué los llamas '* .txt' y no' * .html'? –

Respuesta

8

Puesto que usted está leyendo el archivo directamente fuera de su sistema de archivos (es decir, : utilizando una URL file: en lugar de http: o alguna otra cosa) su navegador está usando la extensión para determinar el tipo de contenido del archivo. La forma en que se realiza este mapeo desde la extensión hasta el tipo de contenido varía de un navegador a otro (y también de un sistema operativo a otro hasta cierto punto).

En primer lugar, debo decir que tendré un poco de miedo de hacer este tipo de cambio. Probablemente haya un montón de código que tiene una suposición cifrada de que .txt se mapea a text/plain, por lo que alterar ese mapeo es probable que exponga todo tipo de errores desagradables. Dejando de lado las advertencias, esto es lo que debe hacer:

En Firefox, ExternalHelperAppService se usa para determinar el tipo de URI de file:. Tenga en cuenta que uno de los pasos es utilizar una lista de extensiones codificadas para mapear tipos, que muy probablemente tiene .txt mapeo a text/plain.

En IE, las asignaciones de tipo de archivo provienen de la configuración del sistema operativo. Varía un poco según la versión de Windows con la que se trate, pero generalmente en la misma parte general de la configuración donde elige qué programa ejecutar para cada extensión, también puede establecer un tipo MIME para cada extensión. (Este es también el lugar que Firefox busca en el paso "El sistema operativo se solicita para un tipo MIME" mencionado en la página que he vinculado anteriormente, por cierto.) Si envió el tipo MIME para .txt a text/html, debe obtener el comportamiento que querer.

0

Es las cabeceras HTTP, que indica al navegador qué tipo de datos que es la transferencia por lo que tiene que editar la configuración de tu servidor web

+0

Entonces ... al cambiar el nombre del archivo, ¿qué agrega la extensión .html a un archivo de texto regular para leer y tratar como un documento html? – volvox

+0

Le dice al servidor web qué tipo de contenido es el archivo en particular. – Joe

+0

@volvox: la mayoría de los servidores web (incluido IIS) tienen asignaciones de archivos que convierten las extensiones de archivos a tipos MIME (.txt => text/plain, .html => text/html, etc.) - los navegadores usan esta información para determinar cómo para interpretar contenido – rpetrich

-3

Guarde el texto con sus códigos htm en WORDPAD como texto de documento ABIERTO. Use en el nombre del archivo la extensión .htm. Esto funcionó para mí.

+0

-1 el OP mencionó explícitamente que no quieren renombrar los archivos –

-6

Solución muy simple a su problema.

Al guardar el documento, guárdelo con la extensión .html o .htm.

Por ejemplo, si tiene que guardar un archivo con el nombre de éxito, en lugar de escribir simplemente 'éxito', escriba 'success.html' o 'success.htm'.

+0

¿Alguien puede decirme por qué tengo este -2? –

+4

lea la pregunta correctamente la próxima vez. El OP mencionó que, en este momento, cambiar el nombre de los archivos es la única manera, pero quería algo más, una mejor solución. Así que decirle al OP que cambie el nombre de los archivos probablemente no sea una buena respuesta. Y deberías estar feliz de que solo sea -2. – benka

Cuestiones relacionadas