【问题标题】:Why im getting blank page on jsPdf output?为什么我在 jsPdf 输出上得到空白页?
【发布时间】:2018-05-28 10:44:31
【问题描述】:

我想获取 pdf 文件的内容并在保存之前查看内容,但是当我执行 output(dataurlnewwindow) 函数时,我得到的是空白页,但 url 是正确的。当我复制 url 并将其粘贴到新选项卡中时,我的 pdf 内容将显示。我看到人们将内容放在iFrame 中,但我不想这样做。有什么解决方案吗?

这是我的带有 url 的空白页面。

谢谢。

【问题讨论】:

    标签: javascript vue.js vuejs2 jspdf


    【解决方案1】:

    您是否遇到错误“不允许将顶部框架导航到数据 URL”?

    如果是,它是Google Chrome problem,您可能想在 iframe 中进行:

    var doc = new jsPDF();
    
      function openDataIframe(url) {
        var html = '<html>' +
          '<style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style>' +
          '<body>' +
          '<iframe src="' + url + '"></iframe>' +
          '</body></html>';
        a = window.open()
        a.document.write(html)
      }
    
    
    a = doc.output('datauristring'); 
    
    openDataIframe(a); 
    

    【讨论】:

    • 我在 dataurlnewwindow 上没有收到任何错误。我在 dataurlstring 上遇到了那个错误。我是用 iFrame 做的,但后来我无法从 iFrame 保存 pdf。