在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 用于创建和下载文件,称为 msSaveBlob
或 msSaveOrOpenBlob
。 msSaveBlob
和 msSaveOrOpenBlob
方法的区别在于前者只向用户提供 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);
...
}
我需要在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 用于创建和下载文件,称为 msSaveBlob
或 msSaveOrOpenBlob
。 msSaveBlob
和 msSaveOrOpenBlob
方法的区别在于前者只向用户提供 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);
...
}