2016-06-20 27 views
2

ヘルプ私は助けが切望されています。今実際の問題に。Safariの新しいタブでPDFを開きます

私は自分のpdfをSafariの新しいタブで開くように努力してきましたが、今まで私は失望に直面しました。私は私のPDFファイルを生成するためのjsPDFを使用していますが、以前の私は、それが壊れた最新のサファリ版「9.1.1(10601.6.17)」のように、同じことを行うには

doc.save(pdfName+".pdf") 

方法だ使用しました。それは同じタブでPDFを開く傾向があり、この動作は非常に望ましくない、

pdf.output('dataurl'); 

しかし:私はまだjsPDFの作り付けのオプションを使用してPDFを生成することができます。私は問題を解決するためにネット上で利用可能な様々なソリューションを試しましたが、何も動作しません。私が試したソリューションのいくつかは次のとおりです。

  1. window.open()を使用すると機能しません。
  2. location.hrefを使用すると動作しません。
  3. doc.output( 'save'、 'filename.pdf')、doc.output( 'datauri')、doc.output( 'dataurlnewwindow')を使用すると、何も機能しません。
  4. また、アンカータグを作成してそのターゲットを '_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

blob出力を試すことができます。次に、これにデータURIを生成し、新しいウィンドウで開きます。

var blob = pdf.output("blob"); 
window.open(URL.createObjectURL(blob)); 
+0

でも、同じタブでpdfを開きます。 _; – hkm93

+0

他のURLを開こうとすると、同じタブで引き続き開きますか?とにかく、おそらく2番目の引数を使用することが解決策になる可能性があります: 'window.open(URL.createObjectURL(blob)、 '_blank');' – demarchisd

+0

はうまく行かず、失礼ではありませんが、Appleのドキュメンテーションを見て、 「標準のwindow.open()JavaScriptメソッドを使用して、グローバルHTMLファイルまたは拡張バーから新しいタブおよびウィンドウを開くことはできません」https://developer.apple.com/library/safari/documentation/Tools/Conceptual /SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html – hkm93

関連する問題