Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的iFrame HTML文件没有内联显示?相反,HTML文件正在下载_Html_Iframe_Inline_Content Disposition - Fatal编程技术网

为什么我的iFrame HTML文件没有内联显示?相反,HTML文件正在下载

为什么我的iFrame HTML文件没有内联显示?相反,HTML文件正在下载,html,iframe,inline,content-disposition,Html,Iframe,Inline,Content Disposition,直到几周前,我链接到iFrame的任何HTML文件都会显示在该框架内。突然,Chrome和Firefox会问我是否要下载iFrame中的HTML文件。这是一台Apache服务器,我相信它最近升级了。我不确定它是如何升级的。我想知道这是否与在iFrame中处理某些MIME类型的方式有关 注意:Chrome和Firefox是我测试过的唯一浏览器。但我不认为这是一个浏览器问题 很可能您的Apache服务器上不再正确设置mime类型配置。大多数情况下,服务器配置会根据您请求的文件扩展名设置返回对象的mi

直到几周前,我链接到iFrame的任何HTML文件都会显示在该框架内。突然,Chrome和Firefox会问我是否要下载iFrame中的HTML文件。这是一台Apache服务器,我相信它最近升级了。我不确定它是如何升级的。我想知道这是否与在iFrame中处理某些MIME类型的方式有关


注意:Chrome和Firefox是我测试过的唯一浏览器。但我不认为这是一个浏览器问题

很可能您的Apache服务器上不再正确设置mime类型配置。大多数情况下,服务器配置会根据您请求的文件扩展名设置返回对象的mime类型。如果您的文件扩展名已更改,或者您使用的动态URL不是以.docx结尾的,例如,由中间的应用程序服务器处理以返回文件,而自己没有设置MIME类型,则浏览器无法知道内容是什么,并正确地得出结论,最好的做法是只给您文件中的内容

所以。。。将要下载的文件的扩展名设置为.docx或.doc。如果您使用的是默认的Apache配置,那么就可以了。如果不起作用,请根据apache.conf或其他apache配置文件中的URL筛选器配置更改返回对象的mime类型。或者,如果使用动态URL,请在代码中将mime类型显式设置为以下类型之一:

.doc - application/msword
.dot - application/msword
.docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx - application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm - application/vnd.ms-word.document.macroEnabled.12
.dotm - application/vnd.ms-word.template.macroEnabled.12 

所以基本上,除了整个服务器被修改之外,什么都没有改变。。。这将有助于缩小范围。你能告诉我们发生这种情况的地方吗?或者用一个代码示例详细说明一下?如果你在一个普通选项卡的地址栏中打开iframe url会发生什么?另外,您是否可以查看“浏览器网络”选项卡的开发人员工具,以查看iframe响应的内容类型标题?尝试从服务器中删除内容处置标题响应此处的第二个答案可能有用,听起来类似于此情况。