【问题标题】:VueJS : open a PDF file using the default player in navigatorVueJS:使用导航器中的默认播放器打开 PDF 文件
【发布时间】:2019-09-16 07:39:59
【问题描述】:

我正在尝试使用 VueJS 打开 PDF 文件。 我想使用默认导航器的播放器在新标签页中打开它。

我尝试了以下方法:

1

<a href="./pdf/doc.pdf" target="_blank">pdf</a>

/pdf/doc.pdf 位于公共目录中的位置。 该解决方案尝试打开添加 /pdf/doc.pdf 的路线。不是预期的,也无法可视化 PDF 文档。

2

<a href="<%= BASE_URL %>/pdf/doc.pdf" target="_blank">pdf</a>

我收到了这个错误:

URIError:无法解码参数'/fr/%3C%=%20BASE_URL%20%%3E/pdf/doc.pdf'

3

<a @click.prevent="pdfDoc">pdf</a>

data() {
  return {
    pdfDoc: require('../../public/pdf/doc.pdf')
  }
}

我收到了这个错误:

./public/pdf/doc.pdf 1:0 模块解析失败:意外令牌 (1:0) 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理此文件。

我怎样才能简单地实现在新选项卡中打开 PDF 并显示它?

【问题讨论】:

  • 这里好像解决了:*.com/questions/48517942/…
  • 感谢您的回答。我正在使用此链接提供的相同建议,请在下面阅读我自己的答案,我发现了问题!

标签: javascript html vue.js pdf vuejs2


【解决方案1】:
  1. 将PDF文档放到你的Vue项目静态目录中
  2. 将 PDF 文档放在项目外部,并设置负载平衡以服务 PDF url 请求

【讨论】:

    【解决方案2】:

    问题在路由器配置中解决了...

      {
        path: '*',
        redirect() {
          return Trans.getUserSupportedLang()
        }
      }
    

    捕获请求并尝试将链接作为路由提供... 在 localhost 中删除该路由可以正常工作。

    不过,在网络托管上,它与最后一条路线完美匹配。

    【讨论】:

      最近更新 更多