Мне нужно распечатать содержимое div
с помощью button
. Я искал его и нашел выход, чтобы сделать это в AngularJS.Печать div без открытия нового окна в AngularJS
Моя проблема - всякий раз, когда вызывается печать, она также открывает новое окно; он не должен его открывать.
Есть ли способ заблокировать открытие нового окна?
Код ниже:
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
@ Мартин, делая это, я могу видеть содержимое 'div' в самом окне, которое я не хочу. – Shashank