如何在 HTML 页面上显示文件内容?
How to display the contents of a file on an HTML page?
我在网站的根目录下创建了一个 CHANGELOG.md 文件,并在 Iframe 中使用模式 window 显示它:
<iframe src="/CHANGELOG.md" frameborder="0" height="100%" width="100%"></iframe>
如何防止在 iframe 中下载文本文件?
在 FireFox 上下载文件。在 Chrome 上它没有下载,但我在控制台中有这个警告:
Resource interpreted as Document but transferred with MIME type
text/markdown: "https://www.example.fr/CHANGELOG.md".
文件内容显示正常,但为什么下载到某些网络浏览器?
这个小问题我已经纠结好几天了,一直没有解决办法。
HTTP 响应带有 Content-Type
header 来告诉客户端响应中的数据类型。
正确配置的服务器会说 Markdown URL 是 text/markdown
类型,而 HTML URL 是 text/html
类型。
浏览器收到响应后,决定如何处理。通常,如果资源是它理解的类型(因此所有浏览器都支持 HTML 文档),它将内联呈现资源,并下载它不支持的资源 built-in。
有时浏览器会 content-sniff 文件,确定 content-type 是错误的,并区别对待。
Chrome 正在(错误地)这样做,而 Firefox 不是。
解决方案是以浏览器能够理解的格式呈现数据。
对于 Markdown,两个明显的选择是:
- 重新配置服务器,谎报它是什么类型的文件并假装它是
text/plain
。 (您也可以将文件重命名为 .txt
)
- 将文件转换为支持的格式(例如 HTML)。您可以编写一个服务器端程序来自动执行此操作。
我在网站的根目录下创建了一个 CHANGELOG.md 文件,并在 Iframe 中使用模式 window 显示它:
<iframe src="/CHANGELOG.md" frameborder="0" height="100%" width="100%"></iframe>
如何防止在 iframe 中下载文本文件?
在 FireFox 上下载文件。在 Chrome 上它没有下载,但我在控制台中有这个警告:
Resource interpreted as Document but transferred with MIME type text/markdown: "https://www.example.fr/CHANGELOG.md".
文件内容显示正常,但为什么下载到某些网络浏览器?
这个小问题我已经纠结好几天了,一直没有解决办法。
HTTP 响应带有 Content-Type
header 来告诉客户端响应中的数据类型。
正确配置的服务器会说 Markdown URL 是 text/markdown
类型,而 HTML URL 是 text/html
类型。
浏览器收到响应后,决定如何处理。通常,如果资源是它理解的类型(因此所有浏览器都支持 HTML 文档),它将内联呈现资源,并下载它不支持的资源 built-in。
有时浏览器会 content-sniff 文件,确定 content-type 是错误的,并区别对待。
Chrome 正在(错误地)这样做,而 Firefox 不是。
解决方案是以浏览器能够理解的格式呈现数据。
对于 Markdown,两个明显的选择是:
- 重新配置服务器,谎报它是什么类型的文件并假装它是
text/plain
。 (您也可以将文件重命名为.txt
) - 将文件转换为支持的格式(例如 HTML)。您可以编写一个服务器端程序来自动执行此操作。