我使用< iframe>
来显示文本文件:
< div class =“document-视图“>
 < 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>
&#xA ; $('。document-view')。html(element);
});



 当我检查元素时在浏览器中,我可以看到文件位置。


 < iframe class =“iframe”src =“/ dmsrepo / Legal Doc Type / LegalDocType_123456789_1.0。 txt“/>



 但该文本文件已在Chrome,Firefox和IE中下载。


如何解决此问题?


编辑:你可以在下面的小提琴中重现这种行为,这只会对第一个页面加载后的每个页面加载产生奇怪的影响。





只需打开页面,然后按运行。
& #xA;
注意:如果激活Firebug Net模块,它也会影响第一次加载。

答案 0 :(得分:4)
因为浏览器只能理解html。将您的文件扩展名更改为.html
或者使用像php这样的服务器端语言并使用file_get_contents()函数,可以将文本文件显示给浏览器。
答案 1 :(得分:4)
这是文件的问题。它没有格式化为html。因为它在文件读取结束时有一些特殊的unicode(例如)字符。如果文本响应具有这样的特殊字符。它无法解析作为嵌入在iframe中的html的响应。
您可以查看此示例:
<iframe src='http://humanstxt.org/humans.txt' /> </iframe>
答案 2 :(得分:0)
在.htaccess
中显示文件添加到行下方AddType text/plain .txt
AddType text/plain .log
这是Firefox的信号,您无需下载文件而是以纯文本格式查看文件。此技术可应用于您需要查看的所有文件,而不是下载。