帮助我,我迫切需要帮助。现在到了真正的问题。
我一直试图让我的pdf在Safari的新标签中打开,但到现在为止我只是面临失望。我正在使用jsPDF生成我的PDF,之前我使用它的
doc.save(pdfName+".pdf")
做同样的方法,就像最新的safari版本“9.1.1(10601.6.17)”一样。我仍然可以使用jsPDF的内置选项生成pdf:
pdf.output('dataurl');
但是,它倾向于在同一个标签中打开PDF,这种行为是非常不受欢迎的。我尝试了网上提供的各种解决方案来解决问题,但都没有。我尝试过的一些解决方案是:
还尝试通过创建锚标记并将其目标设置为“_blank”进行虚假点击,然后使用eventDispatcher刺激鼠标单击,但它也无效。像这样:
var a = window.document.createElement("a");
a.target = '_blank';
a.href = 'http://www.google.com';
var e = window.document.createEvent("MouseEvents");
e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
有关我应该做什么的任何建议?我希望我的pdf在新标签中打开,而不是与我的应用程序相同。
P.S:我在Safari上面尝试过的每个解决方案都在Chrome和Mozilla Firefox中完美运行,我无法弄清楚与Safari的交易是什么。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试blob
输出。然后为此生成一个数据URI,并在新窗口中打开它:
var blob = pdf.output("blob");
window.open(URL.createObjectURL(blob));