Диалог печати Microsoft Edge открывается внутри дочернего окна


У меня есть таблица, которую нужно распечатать. Чтобы напечатать это, я открываю содержимое таблицы внутри дочернего окна,а затем печатаю всю страницу дочернего окна с помощью окна.печатать(). Иногда диалог печати застревает только в дочернем окне, поэтому мне нужно развернуть дочернее окно, чтобы просмотреть диалог печати и распечатать содержимое. Эта проблема возникает иногда, и не всегда.

Это прекрасно работает в Firefox, Chrome, IE 8/9/10/11, но не в Microsoft Edge. То версия Microsoft Edge, которую я использую, - "20.10240.16384.0". Любое решение для этого, так что мне не придется разворачивать дочернее окно для печати содержимого. Кроме того, после печати содержимого дочернее окно не закрывается, как это происходит в других браузерах. Мы будем признательны за любую помощь.

1 3

1 ответ:

Я записал шаги с помощью программы Problem Steps Recorder и обнаружил, что всякий раз, когда перед печатью содержимого таблицы выполняется перетаскивание мышью, диалог печати застревает в дочернем окне. Для этого я отключил перетаскивание событий мышью с помощью следующего скрипта:

$("body").on("dragstart", function () { return false; });
$("body").on("drop", function () { return false; });

Для дочернего окна, не закрывающегося после печати содержимого, я ставлю окно.close() onblur событие дочернего окна:

<body onblur="window.close();">