我有一个由服务器返回的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);
});
但是,如果我手动访问url(通过从源代码复制并粘贴到地址栏中),则该标签不会立即关闭。它保持不变,这就是我想要的。
我不知道为什么会这样。谢谢。
编辑:在隐身模式下似乎可以正常工作。
答案 0 :(得分:3)
由于您提到它可以在隐身模式下正常工作,因此我认为原因是浏览器扩展(例如广告拦截器等)。尝试一一禁用它们,您将找到罪魁祸首。