iframe内でPDFをレンダリングしようとしています。 Mozilla(v54)とChrome(v59)では正常に動作していますが、PDFをロードするリンクをクリックするとIE(v11)で何も起こりません。いくつかのデバッグの後、Chrome/FirefoxのURLはblob:http://localhost:37444/5a8e7fed-cd61-4c58-904c-fad2ae169718で、IE(v11)ではblob:B7395CB5-169D-471F-BB8F-AA90EAFB6DDBです。なぜURL.createObjectURL(ブロブ)がIE(V11)でhttpリクエストURL.createObjectURL(blob)がIE 11で適切なURLを作成していません
function (iframe, url, headers) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = handler;
xhr.responseType = "arraybuffer";
headers.forEach(function (header) {
xhr.setRequestHeader(header[0], header[1]);
});
xhr.send();
function handler() {
if (this.readyState === this.DONE) {
if (this.status === 200) {
var blob = new Blob([xhr.response], { type: "application/pdf" });
var objectUrl = URL.createObjectURL(blob);
iframe.src = objectUrl;
} else {
console.error('XHR failed', this);
}
}
}
[IE 11でのバイナリファイル(pdf)の表示](https://stackoverflow.com/questions/26161314/displaying-binary-file-pdf-in-ie-11) – demo
あなたが提案している解決策あなたはそれをオープンまたはIE(v11)で保存しなければならないと言いますが、私はモーダルボックスでPDFをレンダリングしたいと思います。もしあれば、回避策を提案してください –