在 Firefox 的新选项卡中打开 .txt,而不是默认下载

Open .txt in a new tab on Firefox instead of download by default

我正在尝试打开一个新选项卡,以便在单击 txt 文件时显示该文件的内容。它适用于 Chrome 和 IE(一次)但不适用于 Firefox。

所以基本上我在 PHP 文件的 <a></a> 标签中添加了 target="_blank"

<a class="log" onClick="event.stopPropagation()" style="float:Right;" href="http://localhost/report/Java/16/9/log/buildLog20170124090806‌​.txt" target="_blank">File</a>

在 Chrome 和 IE 上,它会在新选项卡中打开,但 在 Firefox 上,它会下载文件 。响应 HTTP headers 是:

Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Date: Tue, 24 Jan 2017 09:48:51 GMT
Keep-Alive: timeout=5, max=79
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.6.28
Set-Cookie: XSRF-TOKEN=DRiYzQxODY5ZGNhZDBiYmI3YmE0Y2UzMzQzZWVmMWViNSJ9; expires=Tue, 24-Jan-2017 11:48:52 GMT; Max-Age=7200; path=/Max-Age=7200; path=/; httponly
X-Powered-By: PHP/5.6.28

如何强制 Firefox 在新标签页中打开它?

我对同一页面中的 HTML 文件使用了相同的语法,它工作得很好。

你可以尝试用Javascript

打开
<a href="#" onclick="window.open('text.txt', '_blank');">...</a>

外观文件 <a> 标签不正确。 <a> 没有 src 属性。

<a target="_blank" src="/path/to/file.txt">Download</a>

改用这个:

<a target="_blank" href="/path/to/file.txt">Download</a>

并且由于在不同浏览器中的不同行为,这与

无关

target="_blank" 那部分是正确的

只是路径是导致问题的原因。

使用下面的代码可以更好地理解。

<!DOCTYPE html>
<html>
<body>
<a target="_blank" href="C:/Users/sshetty1/Desktop/popup.txt">Download</a>
</body>
</html>

此代码适用于 IE 和 Chrome。

<!DOCTYPE html>
<html>
<body>
<a target="_blank" href="/C:/Users/sshetty1/Desktop/popup.txt">Download</a>
</body>
</html>

这适用于 Chrome 和 Firefox,不适用于 IE。

区别只是因为路径( / 在C:)

之前

"C:/Users/sshetty1/Desktop/popup.txt" 和

"/C:/Users/sshetty1/Desktop/popup.txt"=18=]

这是每个浏览器理解系统路径的方式。

注意:根据您的系统和运行示例更改路径。