Я пытаюсь отобразить диалоговое окно печати, в котором пользователь может распечатать счет-фактуру с помощью кнопки управления. Основная часть этого кода - javascript, но я заметил, что когда я нажал кнопку печати (на 4 разных компьютерах), блокировщик всплывающих окон в Google Chrome полностью заблокировал страницу печати. После того, как я разрешил всплывающие окна, он работал нормально, но неудобно для клиентов постоянно говорить, что разрешает всплывающие окна. Я искал еще один вариант, где предположительно window.createPopup вроде обходит блокировщик всплывающих окон браузера, но использует ограничения окна. Я также не думаю, что window.createPopup - это метод в asp.net. Как я могу запретить блокировщику всплывающих окон блокировать диалоговое окно страницы печати, когда любой клиент нашего сайта отправляется на печать страницы, так как я не могу контролировать их настройки браузера? Можно ли это сделать?Окно печати заблокировано блокировщиком всплывающих окон браузера
<script type="text/javascript">
function PrintGridData() {
var prtGrid = document.getElementById('<%=panel22.ClientID %>');
prtGrid.border = 0;
var prtwin = window.open('', 'Printpanel22Data', 'left=100,top=100,width=1000,height=1000,tollbar=0,scrollbars=1, status=0,resizable=1');
prtwin.document.write(prtGrid.outerHTML);
prtwin.document.close();
prtwin.focus();
prtwin.print();
prtwin.close();
}
</script>
и код позади, чтобы вызвать функцию
Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
ClientScript.RegisterStartupScript(Me.[GetType](), "PrintOperation", "PrintGridData()", True)
End Sub
Вы браузер настроен блокировать всплывающие окна. Добавьте его в надежные сайты. Или не используйте всплывающее окно и используйте CSS Print Media, чтобы распечатать то, что вам нужно. – epascarello
Я спрашиваю, есть ли способ обойти это из-за того, что каждый клиент, который что-то покупает с нашего сайта, будет иметь возможность распечатать свой счет. Поэтому я хочу попытаться избежать блокировщика всплывающих окон, так как я не могу управлять браузером клиентов. – user3841709
. Вы можете определить, было ли всплывающее окно заблокировано, но вам лучше с помощью CSS Print Media. Простое добавление новой таблицы стилей и скрытие содержимого, которое вы не хотите печатать. – epascarello