使用_blank时,从$ http.post崩溃打开PDF

时间:2017-05-05 14:32:18

标签: javascript angularjs

我正在向WS发帖并收到PDF,我将其转换为blob,创建一个URL并打开它。

如果我在' _self'中打开pdf,它就可以了!我看到了pdf。 我也可以创建一个带有下载元素的链接,它也可以工作! 但如果我在' _blank'中打开pdf,则会创建一个新标签并立即关闭。

这是我的代码:

getDoc(id) {
  const url = 'url';
  this.$http.post(
    url,
    {
      data: {
        id,
      },
    },
    {
      responseType: 'arraybuffer',
    }).then((response) => {
      const blob = new Blob([response.data], { type: 'application/pdf;' });
      const urlPdf = this.$window.URL.createObjectURL(blob);
      const win = this.$window.open(urlPdf, '_blank');
      win.focus();
    });
}

我是否必须添加一些内容以允许它在新的标签/窗口中打开?

为什么它适用于_self而不是_blank?

谢谢!

1 个答案:

答案 0 :(得分:1)

我启用了adblock,这就是问题,一旦禁用,pdf现在正在使用_blank!

感谢Alon Eitan的评论!