angular - 窗口打开功能有效,但立即关闭新打开的窗口

标签 angular google-chrome blob

我有一个由服务器返回的 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/

相关文章:

css - 背景图像不适用于 chrome 但它适用于边缘

sql-server - SQL Server - 删除/更新堆中的 LOB 数据

javascript - 基于 Blob 的 'link stylesheet' 与标准 'style' 标签

javascript - 不能在 NgModule 中声明模块,因为它不是当前编译 Angular 的一部分

Angular 表单电子邮件验证器未按预期工作

ios - 如何在实际用例中使用 Ionic Native Player

javascript - 为什么 0010 在 javascript 中等于 8?

google-chrome - 调整Chrome DevTools在远程调试窗口的dock位置

c# - 为什么我多了一个角色?

angular - 如何在 Angular 2 中设置反向代理