2
帮助我我迫切需要帮助。现在到真正的问题。在Safari中的新选项卡中打开PDF
我一直在试图让我的PDF在Safari的新标签中打开,但直到现在我只面临失望。我使用jsPDF生成PDF文件我和早期我用它
doc.save(pdfName+".pdf")
方法做同样的,在最新版本的Safari“9.1.1(10601.6.17)”它打破了。我仍然可以使用生成jsPDF的内置选项PDF:
pdf.output('dataurl');
,但它往往在同一个选项卡,打开PDF,而这种行为是极不可取的。我尝试了各种可用的解决方案来解决这个问题,但都没有成功。我尝试过的一些解决方案是:
- 使用window.open()不起作用。
- 使用location.href不起作用。
- 使用doc.output('save','filename.pdf'),doc.output('datauri'),doc.output('dataurlnewwindow'),没有任何效果。
此外,尝试通过创建一个锚标记并将其目标设置为'_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是如何处理的。任何帮助,将不胜感激。
仍然在同一Tab中打开PDF; _; – hkm93
这很奇怪..如果您尝试打开任何其他网址,它是否仍然在同一个标签中打开?无论如何,也许使用第二个参数可能是解决方案:'window.open(URL.createObjectURL(blob),'_blank');' – demarchisd
没有工作,不是粗鲁,但通过Apple的文档,发现我们的“标准window.open()JavaScript方法不能用于从全局HTML文件或扩展栏中打开新的选项卡和窗口”https://developer.apple.com/library/safari/documentation/Tools/Conceptual /SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html – hkm93