2017-04-01 301 views
0

私は以下のコードを書いて画面を印刷しました。それは正常に動作しています。また、pdfファイルも開いています。しかし、pdfファイルの後ろに1つのウィンドウが開きます。 pdfファイルを押すとそのウィンドウが開きます。そのpdfウィンドウの問題は、編集可能になっていることです。後ろの窓を取り除く方法。angularjsで印刷

angular.element('#hideLeftLinks').addClass("no-print"); 
var printContents = angular.element('#Print').html(); 
var popupWin = window.open('', '_blank', 'width=1000,height=1000'); 
popupWin.document.open(); 
popupWin.document.write('<html><head><link rel="stylesheet" type="text/css" href="css/Copyofstyles.css" /></head><body onload="window.print()">' + printContents + '</body></html>'); 
popupWin.document.close(); 
popupWin.innerHTML=''; 
angular.element('#hideLeftLinks').removeClass("no-print"); 

答えて

0

this answerをチェックしてください。私は自分自身をテストしました。答えは唯一の答えです。私はonload="window.print()"を削除し、<script>window.print(); setTimeout(window.close, 0);</script>を追加して動作しました。 popupWin.document.close();とおそらくpopupWin.innerHTML='';も必要ありません。だから、細かい作業が、ウィンドウの後ろにまだ開いて上記のコードでは

popupWin.document.write('<html><head><link rel="stylesheet" type="text/css" 
    href="css/Copyofstyles.css" /></head><body>' + printContents + 
    '<script>window.print(); setTimeout(window.close, 0);</script></body></html>'); 
+0

に三行

popupWin.document.write('<html><head><link rel="stylesheet" type="text/css" href="css/Copyofstyles.css" /></head><body onload="window.print()">' + printContents + '</body></html>'); popupWin.document.close(); popupWin.innerHTML=''; 

下に置き換え、ウィンドウの後ろに閉じるように任意のものを提供することができます。 –

+0

もちろん、それは開いています。開いていないと、ページを印刷できません。問題は「印刷またはキャンセルボタンを押した後にウィンドウが閉じない」ことです。 –