我正在尝试在新标签中显示pdf文件。 Firefox可以很好地加载它,但是Opera只能打开一个新窗口,而铬和vivaldi则什么也不会打开,如该图所示,它仅显示窗口的一小部分:
怎么了?如何使它在所有浏览器上都能正常工作?当我使用blob:URL并将其放入其他新标签页时,它将正确加载PDF ...
const getPdfById = id => {
var xhr = new XMLHttpRequest();
xhr.open('GET', proxy + "documents/" + parseInt(id), true);
xhr.responseType = 'arraybuffer';
xhr.setRequestHeader("Authorization", 'bearer ' + sessionStorage.access_token);
xhr.onload = function(e) {
if (this.status == 200) {
var blob=new Blob([this.response], {type:"application/pdf"});
var link=document.getElementById("pdf-link");
link.href=window.URL.createObjectURL(blob);
} if(this.status == 401){
refreshToken();
setTimeout(() => {
getPdfById(id);
}, 300);
}
};
xhr.send();
};
谢谢