0

新しいウィンドウでクライアントにファイルをダウンロードするPHPスクリプトがあります。Firefoxではうまく機能しますが、IE8ではウィンドウが開いてすぐに閉じます。これは一部のファイル(テキスト/プレーンタイプなど)でのみ発生しますが、他のファイル(例:application / pdf)では正常に機能することに注意してください。

私のPHPスクリプトは、以下に示すhttpヘッダーを追加します(さらに、プロキシサーバーによって追加されたいくつかのヘッダーが表示されます)。何が悪いのかわかりません。phpでヘッダーを操作した後、Content-TypeとContent-Dispositionを削除すると影響があるように見えますが、私はただいじり回していて、何が悪いのか本当に理解できません。

以下に示すように、Firefoxからヘッダーを取得しました。IEをすぐに閉じる原因となるものを誰かが見ることができますか?mimeタイプをapplication / textに設定しようとしましたが、違いはありません。

HTTP/1.0 200 OK
Date: Sat, 21 Apr 2012 21:02:13 GMT
Server: Apache
Pragma: public
Expires: 0
Cache-Control: public
Content-Description: File Transfer
Content-Disposition: attachment; filename="Sample_Text_File.txt"
Content-Transfer-Encoding: binary
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 47
Content-Type: text/plain
X-Cache: MISS from firewall.mydomain.ca
X-Cache-Lookup: MISS from firewall.mydomain.ca:3128
Via: 1.0 firewall.mydomain.ca (squid/3.0.STABLE7)
Proxy-Connection: close
4

2 に答える 2

0

まず、不要な応答ヘッダー、特にContent-Transfer-EncodingやContent-Descriptionなどの無意味なヘッダーをすべて削除することから始めます。

考えられる理由は、情報のキャッシュが壊れているか、IEが多くの種類のVary応答ヘッダーを適切に処理できないことである可能性があります。

于 2012-04-22T09:22:31.533 に答える
0

IEのアンチポップアップテクノロジーのようです。IEの設定でサイトをセージとしてマークしましたが、それでもブロックされます。

解決策は、同じウィンドウ(_blankではない)でダウンロードを開始することでした。IEは満足しています。他のすべてのブラウザは、新しいウィンドウで開くことができます。

于 2012-05-04T12:59:42.230 に答える