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しようとしたが、私は、ダウンロード禁止かどうかとの違いを見つけることができませんでした。
動作していないようです。編集された質問を参照してください。 – IvanH
私はあなたが運が悪いと思っています。なぜなら、ページコンテキスト外でブロックされているように見えるからです。 "OS上で"。これらのファイルは、MIMEタイプがオクタクト/ストリームの場合にブロッキングされていますか? – Tei
ブラウザで開くことができるファイル(.txt、image、...)はOKで、他はブロックされているとします。私は.pdfでも動作すると言われましたが、確認に成功しませんでした。私はそれがMIMEや拡張機能の影響を受けるかどうかはわかりませんが、オープンしたりダウンロードしたりするだけで問題ありません。 – IvanH