在IE浏览器中打开pdf

open pdf in IE browser

我需要在IE浏览器中打开pdf文件。有什么办法可以实现 that.This works only in chrome

var byteCharacters = atob(response.data);
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
  byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var file = new Blob([byteArray], { type: 'application/pdf;base64' });
var fileURL = URL.createObjectURL(file);
window.open(fileURL);

IE 不支持 URL.createObjectURL()。 IE 有自己的 API 用于创建和下载文件,称为 msSaveBlobmsSaveOrOpenBlobmsSaveBlobmsSaveOrOpenBlob 方法的区别在于前者只向用户提供 Save 按钮,而后者同时提供 Save 和一个 打开 按钮。

此外,IE没有嵌入PDF查看器,所以在IE 11中无法直接显示PDF。只能在IE中使用msSaveOrOpenBlob处理blob,然后选择打开或保存PDF 文件:

if(window.navigator.msSaveOrOpenBlob) {
    //IE11
    window.navigator.msSaveOrOpenBlob(blobData, fileName); 
}
else{
   //Other browsers
    window.URL.createObjectURL(blobData);
    ...
}