Подтвердить что ты не робот

IE11 Windows 7 Проблема с печатью после kb4021558

Извиняюсь за слегка расплывчатый вопрос, но я вытаскиваю свои волосы. Начиная с этого обновления у нас было много вызовов относительно печати из нашего веб-приложения. В нашем веб-приложении используется iframe, и мы используем css @media print, чтобы скрыть все, кроме этого iframe, для целей печати. С момента обновления пользователь получает ошибку 404 - не найденную вместо фактической страницы. По сетевой трассе кажется, что IE создает файл temp.htm в локальном каталоге, например D3CD911.htm, затем загружает ресурсы css/js, а затем, наконец, делает этот вызов /D 3CD911.htm. Это делается на www.mywebsite.co.uk/D3CD911.htm. Это, очевидно, не существует на веб-сайте, поэтому возвращается 404. Я изо всех сил пытаюсь найти образец проблемы, и это, похоже, не влияет на другие общедоступные сайты. Я думаю, проблема связана с методом window.print(). Я могу полуразмножить его здесь на https://www.primefaces.org/showcase/ui/misc/printer.xhtml. Если вы нажмете кнопку "Печать", вы получите сообщение об ошибке. Хотя это использует функцию jqprint javascript, если вы затем используете кнопку печати браузера, она также терпит неудачу.

Любое руководство будет высоко оценено.

4b9b3361

Ответ 1

Обновление: Microsoft выпустила исправление: Патч Microsoft IE

Просто хотел обобщить обходные решения, которые я нашел и которые были размещены здесь.

1) Если вы используете собственное изменение кнопки печати, используйте document.execCommand('print', false, null);. Поддержка тестирования с помощью document.queryCommandSupported('print') и вызов window.print(), если не поддерживается (Проб только Firefox)

2) Используйте Предварительный просмотр. Кроме того, выберите часть страницы для печати, щелкните правой кнопкой мыши и выберите предварительный просмотр. Затем выберите As selected on screen.

3) Используйте другой браузер, например Chrome

4) Удалите обновление

5) Подождите, пока исправление Microsoft. Их KB страница Ссылка на канал была обновлена ​​с этим как известная проблема. Поэтому вы предполагаете, что исправление уже в пути.

Ответ 2

andyfinch, ты гений! Появится следующий код для кнопки печати, содержащейся в кадре:

function Print() {
  if (document.queryCommandSupported('print')) {
    document.execCommand('print', false, null);
  }
  else {
    window.parent.<framename>.focus();
    window.print();
  }
}

Ответ 3

andyfinch обходное решение также работает для нас. Спасибо Энди!

MS помечена этой проблемой с помощью "WILL NOT FIX" (6/15/17): https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12349663/ Обновление: этот флаг может просто укажите, что это не проблема с MS Edge, поэтому разработчики Edge не будут исправлены.

Установка KB4021558 прерывает печать с нашего сайта (страницы пусты, нижний колонтитул показывает некоторый вариант "res://ieframe.dll/i273gyew.htm" ). Деинсталляция восстанавливает функциональность печати.

KB4021558 также включен в KB4022719, KB4022725 и KB4022727.

Ответ 4

Я нашел обходное решение: если отображается iframe, который вы пытаетесь распечатать, щелкните его правой кнопкой мыши и выберите "Предварительный просмотр"... вместо "Печать"... из контекстного меню. Предпросмотр кажется пригодным для печати (но может отображаться только часть содержимого фрейма).

Кроме того, для записи проблемное 64-битное обновление Win7 - KB4022719.

Ответ 5

MS опубликовала обновления вчера (27 июня), которые адресовали его для Windows 10:

Это обновление без защиты включает улучшения качества. Ничего нового в этом обновлении вводятся функции операционной системы. ключ изменения включают:

• Устранена проблема, возникшая в KB4022715, где Internet Explorer и печать Microsoft Edge из фрейма может привести к тому, что 404 не будет найден или пустая страница.

Ссылки:

Windows 10 (начальная версия - сборка 10240)

KB4032695 - Build 10240.17446

Windows 10 Version 1511 (начальная версия - сборка 10586)

KB4032693- Построение 10586.965

Windows 10 Version 1607 (Initial Release - Build 14393)

KB4022723 - Build 14393.1378

Windows 10 Version 1703 (начальная версия - сборка 15063)

KB4022716 - Build 15063.447

Источник/Дополнительная информация

Я сегодня с помощью WSUS вытащил их из Каталог обновлений Windows.

Ответ 6

Вот что я использовал для этого в IE 11:

  • Рамка правого клика и выберите выделить все или [ctrl + A] в кадре
  • Щелкните правой кнопкой мыши и выберите предварительный просмотр печати
  • В вашем предварительном просмотре должна быть опция "Как выбрано на экране". Выбор этого позволил мне распечатать все в кадре.

Ответ 7

У нас было несколько кадров на экране печати, и вызов document.execCommand('print', false, null); не смог исправить нашу проблему. Вместо этого window.parent[frameName].document.execCommand('print', false, null); исправил его.