2010-02-27 88 views
9

我有.txt文件,其中大部分(真正)是html文档(它们具有标题,正文,html标签等)。 (我在这里在Windows环境中工作)。我希望任何浏览器都可以将它们作为html文档(具有普通.html后缀的html文档)随时阅读。现在我必须重命名.txt文件才能够在浏览器中读取它(例如:myfile.txt - > myfile.txt.htm)。我们可以应用任何技巧来立即愚弄浏览器?如何强制一个txt文件被浏览器读取为html文档?

相对问题:是否有任何代码可以添加到这些.txt文件的顶部,以便只有.txt文件与该代码将作为html文档打开并通过浏览器看到? (代码可以是任何添加了十六进制编辑器ot plain ascii的东西)。谢谢。

+0

您是通过HTTP服务器打开这些文件,还是只是将它们从本地文件系统中打开?即:当您在浏览器中查看这些文件时,地址栏是否以file:或http:开头? – 2010-02-27 07:42:20

+0

它只是本地的 - 没有相关的网络服务器。 (所以打开为file:/// ...)。 – volvox 2010-02-27 07:45:00

+0

这可能是一个愚蠢的问题,但是当它们是HTML文件时,为什么要将它们称为'* .txt'而不是'* .html'? – 2010-03-01 19:13:02

回答

8

既然你直接读取文件把你的文件系统(即:使用file:网址而不是http:或其他)您的浏览器正在使用扩展名来确定文件的内容类型。从浏览器到浏览器(从操作系统到操作系统到某种程度),从扩展到内容类型的映射方式也各不相同。

首先,我应该说我会有点害怕做这种改变。可能有很多代码有一个硬编码的假设,.txt映射到text/plain,所以改变映射可能会暴露各种令人讨厌的错误。除了注意事项,以下是您需要做的事情:

在Firefox中,ExternalHelperAppService用于确定file: URIs的类型。请注意,其中一个步骤是使用硬编码的扩展名列表来映射类型映射,该映射很可能具有映射到text/plain.txt

在IE中,文件类型映射来自操作系统设置。这取决于您处理的Windows版本,但通常在您选择为每个扩展程序运行哪个程序的设置的相同常规部分中有所不同,您还可以为每个扩展名设置MIME类型。 (这也是Firefox在上面链接到的页面上提到的“操作系统被要求提供MIME类型”步骤的顺序)。如果您将MIME类型.txt发送到text/html,您应该得到您的行为想。

0

这是HTTP头告诉你的浏览器是transfering什么样的数据,所以你必须修改你的Web服务器的设置

+0

所以...重命名文件时,.html扩展名添加到regulat文本文件以便读取和处理为html文档是什么? – volvox 2010-02-27 07:21:26

+0

它告诉Web服务器什么内容类型的特定文件。 – Joe 2010-02-27 07:27:40

+0

@volvox:大多数Web服务器(包括IIS)都有文件映射,可将文件扩展名转换为MIME类型(.txt => text/plain,.html => text/html等) - 浏览器使用此类型信息来确定以解释内容 – rpetrich 2010-02-27 07:28:43

-3

将文本及其htm代码保存在WORDPAD中作为OPEN文档文本。 在文件的名称中使用扩展名.htm。 这对我有用。

+0

-1 OP明确提到他们不想重命名文件 – 2014-07-21 10:22:22

-6

非常简单的解决您的问题。

保存文档时,请以.html或.htm扩展名保存。

例如,如果您必须保存名为success的文件,而不是键入'success',请输入'success.html'或'success.htm'。

+0

谁能告诉我为什么我有这个-2? – 2014-09-23 09:17:44

+4

下次正确阅读该问题。 OP确实提到目前重命名文件是唯一的方法,但想要别的东西,这是一个更好的解决方案。所以告诉OP重命名文件可能不是一个好的答案。你应该感到高兴只有-2。 – benka 2014-09-23 09:28:59

相关问题