3

Internet Explorerにはセキュリティ設定があり、ファイルのダウンロードを有効または無効にすることができます。アプリケーションには、window.open( "fileurl")というファイル(例:.xls)を開くボタンがあります。ダウンロードがブロックされていることをjavascriptで検出することは可能ですか(例:説明を表示するなど)?それとも、リクエストヘッダーからそれを検出することがもっと洗練されているのでしょうか?禁止ファイルのダウンロードを検出するにはどうすればよいですか?

編集:
示唆したように私はいない成功を収めてダウンロードをテストするために、AJAXを試してみました。実際のダウンロードではなく、ファイルの保存やオープンがブロックされていると思います。

var xhr = new XMLHttpRequest(); 
xhr.open("GET", docurl, false); 
xhr.send(null); 
var data = new VBArray(xhr.responseBody).toArray();//IE9 only 

ダウンロードが無効であるかどうかに関わらず、同じ長さの配列を返します。
Getting and Sending Binary Files with XMLHttpRequest
how do I access XHR responseBody (for binary data) from Javascript in IE?

編集2:
私の第二の試み:

var wnd = window.open() 
wnd.load=tst; 
wnd.location.href= docurl 

私は負荷(TST)にウィンドウでevalueatしようとしたが、私は、ダウンロード禁止かどうかとの違いを見つけることができませんでした。

答えて

0

約1ヶ月間の回答があるので、私は解決策がないと結論づけます。

3

Heresアイデア:ブロックされたものと同様の「テストファイル」をダウンロードし、可能であれば同じMIMEタイプと実際の空のファイルをダウンロードしてください(ただしサイズは小さくても2KBかもしれません)。そのようなダウンロードに失敗した場合は、どうしたら失敗するかを(静かに、エラーメッセージで)チェックすることもできます。

+0

動作していないようです。編集された質問を参照してください。 – IvanH

+0

私はあなたが運が悪いと思っています。なぜなら、ページコンテキスト外でブロックされているように見えるからです。 "OS上で"。これらのファイルは、MIMEタイプがオクタクト/ストリームの場合にブロッキングされていますか? – Tei

+0

ブラウザで開くことができるファイル(.txt、image、...)はOKで、他はブロックされているとします。私は.pdfでも動作すると言われましたが、確認に成功しませんでした。私はそれがMIMEや拡張機能の影響を受けるかどうかはわかりませんが、オープンしたりダウンロードしたりするだけで問題ありません。 – IvanH

関連する問題