我有一个由服务器返回的 blob。我想要做的是在新选项卡中打开 blob 的内容。
我目前正在使用该 blob 创建一个新的文件 URL。然后我使用 window.open() 打开它。
该代码似乎正在运行,并在 Chrome 上打开了一个窗口。然后它立即关闭。 (我已为我正在处理的域启用弹出窗口)。
这是我的代码。
this._documentService.download(document.DocumentId).subscribe((data:any) => {
let fileURL = URL.createObjectURL(data);//data => blob
window.open(fileURL, '_blank');
},
error => {
console.log("Error downloading document", error);
});
但是,如果我手动访问该网址(通过从源复制并将其粘贴到地址栏中),该选项卡不会立即关闭。它保持原状,这就是我想要的。
我不知道为什么会发生这种情况。谢谢。
编辑:似乎在隐身模式下工作正常。
最佳答案
既然你提到它在隐身模式下工作正常,我认为原因是浏览器扩展,例如广告拦截器等。尝试将它们一一禁用,你会找到罪魁祸首。
关于angular - 窗口打开功能有效,但立即关闭新打开的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394474/