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