2017-01-24 11 views
0

クリックしたときにtxtファイルの内容を表示するために新しいタブを開こうとしています。それはクロームとIE(一度限り)ではうまく動作しますが、Firefoxではうまく動作しません。デフォルトではなくFirefoxの新しいタブで.txtを開く

だから基本的に私は私のPHPファイルで私の<a></a>タグにtarget="_blank"を追加しました:ChromeとIEの両方で

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

それが新しいタブで開きますが、Firefoxで、代わりにそれはファイルをダウンロードします。応答HTTPヘッダーは次のとおりです。

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> 
+0

どのHTTPヘッダーを送信していますか? –

+0

ヘッダーは何を意味しますか? 「」タグには何がありますか?申し訳ありませんが、このHTMLの世界では新しく、他の人のコードに取り組んでいます... – Papple

+0

Firefoxでは、Ctrl + Shift + Qを押してください。新しいパネルが開きます。リンクを読み込むと、新しいエントリが表示されます。これをクリックすると、「レスポンスヘッダー」ブロックを含む新しいサブパネルが表示されます。これらは、Webサーバーから返されたHTTPヘッダーで、ファイルの処理方法に関する情報が含まれています。 –

答えて

0

<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 "

各ブラウザがシステムパスを理解する方法です。

注:システムに応じてパスを変更し、サンプルを実行してください。

+0

この解決法は私が恐れることを何も変えない。 – Papple

+0

それは私のために働く、実際には両方の可能性が私のために働く - 'Link 1' -' Link 2 ' – bendajo

+2

@bendajo - あなたは元のコードで問題を再現できないなら、あなたはそれを考える理由がないあなたのコードは違いを生むでしょう。それはあなたのために違いはありません。 – Quentin

0

でそれを開こうとする可能性があり

+0

助けていただきありがとうございますが、動作していません。まず、 'src 'ではなく' href'を使っています。そして第二に、私の悪い私はそれを言及しなかった、ファイルは 'PHP'ファイルです。 – Papple

関連する問題