私は確かにAngularJSの初心者ですが、このコードがChromeおよびFirefoxで動作する理由を見つけることができませんが、IE 11.でjavascriptコンソールに_"Access is denied"
_を与えます.
認証済みのPDF呼び出しを介してRESTを表示する必要があります。理想的には、これはポップアップ(プレビュー)のようなウィンドウに表示されます。
これまでのコードは次のようになります。
_$http.post( url, payload, {
headers : {
"Authorization": token
},
responseType: "arraybuffer"
}).success(function ( data ) {
var file = new Blob( [ data ], { type: 'application/pdf' });
var fileURL = URL.createObjectURL( file );
window.open( fileURL );
}
_
window.open()
はIE11の_"access is denied"
_メッセージを提供しますが、ChromeおよびFirefoxで動作します。 window.location()
に変更しようとしましたが、同じエラーが発生しました。
これはクロスドメインの問題ではありません(すべてが同じfoo.netドメインにあります)。
Internet Explorer 10のローカルファイルにテキストを保存する
IEはBLOBでwindow.openをブロックしますが、BLOBを開いて保存するための独自の関数を実装しました。代わりに試してください
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var objectUrl = URL.createObjectURL(blob);
window.open(objectUrl);
}