无法在IE中的HTML中嵌入PDF blob

无法在IE中的HTML中嵌入PDF blob,pdf,internet-explorer,internet-explorer-11,Pdf,Internet Explorer,Internet Explorer 11,我采用了各种方法在IE中的html中嵌入PDF blob以显示它 1) 创建对象URL并将其传递给embed或iframe标记。这在Chrome中运行良好,但在IE中不起作用。 函数previewFile(){ var file=document.querySelector('input[type=file]')。files[0]; var downloadUrl=URL.createObjectURL(文件); log(下载URL); var元素=document.getElementBy

我采用了各种方法在IE中的html中嵌入PDF blob以显示它

1) 创建对象URL并将其传递给embed或iframe标记。这在Chrome中运行良好,但在IE中不起作用。


函数previewFile(){
var file=document.querySelector('input[type=file]')。files[0];
var downloadUrl=URL.createObjectURL(文件);
log(下载URL);
var元素=document.getElementById('test_iframe');
setAttribute('src',downloadUrl);
}

2) 我还尝试过将URL Blob包装到encodeURIcomponent()中


关于如何解决这个问题的任何建议?

IE不支持将数据url作为src属性的iframe。你可以登记。这表明支持仅限于图像和链接资源,如IE中的CSS或JS。请同时检查:

数据URI仅支持以下元素和/或 属性

  • 对象(仅限图像)
  • img
  • 输入类型=图像
  • 链接
  • 接受URL的CSS声明,如背景、背景图像等
此外,IE没有嵌入PDF查看器,所以不能直接在IE 11中显示PDF。您只能使用来处理IE中的Blob,然后选择打开或保存PDF文件:

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

这回答了你的问题吗?我已经试过了。这对我不起作用
if(window.navigator.msSaveOrOpenBlob) {
    //IE11
    window.navigator.msSaveOrOpenBlob(blobData, fileName); 
}
else{
   //Other browsers
    window.URL.createObjectURL(blobData);
    ...
}