button
を使用してdiv
の内容を印刷する必要があります。私はそれを検索し、AngularJSでそれを行う方法を見つけました。AngularJSで新しいウィンドウを開くことなくdivを印刷します
私の問題は、printが呼び出されるたびに新しいウィンドウが開きます。それを開くべきではありません。
新しいウィンドウのオープンをブロックする方法はありますか?以下
コード:
JS:
$scope.printControl = function(id) {
var printContents = document.getElementById(id).innerHTML;
var popupWin = $window.open('', '_blank', 'width=800,height=800');
popupWin.document.open();
popupWin.document.write('<html><body onload="window.print()">' + printContents + '</body></html>');
popupWin.document.close();
};
HTML:
<div id="printDiv">
This div needs to be printed
</div>
<button ng-click="printControl('printDiv')">
Print
</button>
実際にあなたのJSで新しいウィンドウ($ window.open( ''、 '_blank' ...)を開くように定義しています)。 "_blank"を "_self"に置き換えることができます。しかし、私は安全上の理由から、ユーザーが印刷自体を最後に制御しなければならないので、このプロンプトを実際に嫌にすることはできないと信じています。 – Martin
@Martinはこれをやって、私は見ることができます – Shashank