在 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=]
这是每个浏览器理解系统路径的方式。
注意:根据您的系统和运行示例更改路径。
我正在尝试打开一个新选项卡,以便在单击 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=]
这是每个浏览器理解系统路径的方式。
注意:根据您的系统和运行示例更改路径。