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

ダウンロードが無効になっているかどうかにかかわらず、成功し、同じ長さの配列を返します。
XMLHttpRequest を使用したバイナリ ファイルの取得と送信
IE で Javascript から XHR responseBody (バイナリ データ用) にアクセスするにはどうすればよいですか?

編集2:
私の2回目の試み:

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

ロード中のウィンドウ(tst)を評価しようとしましたが、ダウンロードが禁止されているかどうかの違いは見つかりませんでした。

4

2 に答える 2

3

ここにアイデアがあります:ブロックされたものと同様の「テストファイル」をダウンロードするためのajaxリクエストがあり、同じmimeタイプで、可能であればそのタイプの実際の空のファイル(ただし、小さい、おそらく2KB)があります。次に、そのようなダウンロードが失敗した場合、...それがどのように失敗するかを確認することもできます(サイレント、エラーメッセージ付き、...)..それはあなたにそれを解決する方法についてのより多くの情報を与えるでしょう。

于 2012-04-10T15:13:57.803 に答える
0

現在、約1か月の回答があり、解決策はないと結論付けています。

于 2012-04-17T14:41:46.757 に答える