jsPDF - Firefox中的兼容性问题

时间:2014-10-08 05:16:04

标签: javascript firefox jspdf

jsPDF与最新版本的Firefox不兼容。它不允许我下载PDF。有没有解决这个问题?我尝试下载最新版本的jsPDF。

修改

  • 我的FF版本是32.0.3
  • 我没有收到任何错误消息。

这是“下载”pdf的代码。它在IE和Chrome中运行良好:

所以我认为它与代码无关。我想知道的是如何在Firefox中下载pdf。

function appendDataToPDF(div, doc, top)
{
    html2canvas(div, {
        background: '#fff',
        onrendered: function(canvas) {
            var img = canvas.toDataURL();
            doc.addImage(img, 'JPEG', 10, top, parseInt($(div).css("width"), 10), parseInt($(div).css("height"), 10));

            if(top > 240)
            {
                doc.addPage();
                top = 27;
            }

            div = $(div).next();

            if(div.length === 0)
            {
                doc.save('doc.pdf');
            }
            else
            {
                if(div.get(0).nodeName === 'BR')
                    div = $(div).next();

                appendDataToPDF(div, doc, top);
            }
        }
    });
}

2 个答案:

答案 0 :(得分:5)

问题在于doc.save()的执行。调用save()命令时,文档尚未就绪。尝试设置超时,它应该可以工作。

setTimeout(function() {
    doc.save(filename);
}, timeout);

答案 1 :(得分:3)

我刚刚在alert()功能之后放置了doc.save(),现在下载正常。如果您遇到同样的问题,可以试试这个解决方案。