Html 为什么使用<;中的.txt文件;iframe>;正在下载而不是显示?
我正在使用Html 为什么使用<;中的.txt文件;iframe>;正在下载而不是显示?,html,firefox,iframe,download,struts2,Html,Firefox,Iframe,Download,Struts2,我正在使用显示文本文件: <div class="document-view"> <img src="img/302.GIF" /> </div> $(window).load(function () { <s:if test="extention.equalsIgnoreCase('txt')"> element = '<iframe class="iframe" src="/dmsrepo/<s:pr
显示文本文件:
<div class="document-view">
<img src="img/302.GIF" />
</div>
$(window).load(function () {
<s:if test="extention.equalsIgnoreCase('txt')">
element = '<iframe class="iframe" src="/dmsrepo/<s:property value="docLocation"/>" />';
</s:if>
$('.document-view').html(element);
});
$(窗口)。加载(函数(){
元素=“”;
$('.document view').html(元素);
});
在浏览器中检查元素时,可以看到文件位置
<iframe class="iframe" src="/dmsrepo/Legal Doc Type/LegalDocType_123456789_1.0.txt" />
但是这个文本文件正在Chrome、Firefox和IE中下载
如何解决这个问题
编辑:您可以在下面的小提琴中重现这种行为,奇怪的是,对于第一个页面加载之后的每个页面加载,这种行为只会影响Firefox 简单地说,然后按Run
注意:如果Firebug Net模块被激活,它也会影响第一次加载。,因为浏览器只理解html。将文件扩展名更改为.html
或者使用服务器端语言(如php)并使用file_get_contents()函数,您可以向浏览器显示文本文件。这就是文件的问题所在。它的格式不是html。因为它在文件读取的末尾有一些特殊的unicode(eg)字符。如果文本响应有这样的特殊字符。它无法将响应解析为嵌入在iframe中的html 您可以检查以下示例:
在.htaccess中的行下方显示文件添加
AddType text/plain .txt
AddType text/plain .log
这是Firefox发出的信号,表示您不必下载文件,而是以纯文本形式查看文件。此技术可应用于您需要查看的所有文件,而不是停止下载。@AndreaLigios Nope..仍在下载文件..@AndreaLigios您是对的..当我在Firefox中刷新页面时下载。但IE或chrome。那为什么它能在chrome上工作呢?也是第一次在Firefox上?嗯,因为最后一个链接+1@prince尝试将.txt文件重命名为.html,看看它是否在Firefox中工作。我尝试更改扩展名,但html视图不包含任何换行符。因此它不会维护文本文件的结构。因此,我认为我应该将其作为一个html文件,在业务逻辑中使用。