web-dev-qa-db-fra.com

IE11 Windows 7 Problème d'impression après kb4021558

Toutes mes excuses pour la question un peu vague mais je me tire les cheveux. Depuis cette mise à jour, nous avons reçu de nombreux appels concernant l’impression à partir de notre application Web. Notre application Web utilise un iframe et nous utilisons css @media print pour masquer tout sauf cet iframe à des fins d'impression. Depuis la mise à jour, l'utilisateur reçoit une erreur 404 - non trouvée à la place de la page réelle. D'après la trace réseau, il semblerait que IE crée un fichier temp .htm dans le répertoire local comme D3CD911.htm, puis télécharge les ressources css/js, puis appelle /D3CD911.htm. Ceci est un appel à www.mywebsite.co.uk/D3CD911.htm. Cela n’existe évidemment pas sur le site Web, donc la 404 est renvoyée ... J'ai du mal à trouver une solution au problème et cela ne semble pas affecter d’autres sites publics. Je pense que le problème est avec la méthode window.print (). Je peux le reproduire ici, à l’adresse https://www.primefaces.org/showcase/ui/misc/printer.xhtml . Si vous cliquez sur le bouton d'impression, vous obtiendrez l'erreur. Bien que cela utilise la fonction javascript javascript si vous utilisez ensuite le bouton d'impression du navigateur, il échoue également.

Toute orientation serait très appréciée.

21
andyfinch

Mise à jour: Microsoft a publié un correctif: correctif Microsoft IE

Je voulais juste résumer les solutions de contournement que j'ai trouvées et qui ont été publiées ici.

1) Si vous utilisez votre propre bouton d’impression, changez pour utiliser document.execCommand('print', false, null);. Testez le support avec document.queryCommandSupported('print') et appelez window.print() s'il n'est pas pris en charge (Prob que Firefox)

2) Utilisez l'aperçu avant impression. De plus, sélectionnez la partie de la page à imprimer, cliquez avec le bouton droit de la souris et sélectionnez Aperçu avant impression. Puis sélectionnez As selected on screen.

3) Utilisez un autre navigateur comme Chrome

4) désinstaller la mise à jour

5) Attendez que Microsoft répare. Leur page KB KB Link a été mise à jour avec ce problème connu. Par conséquent, vous supposez qu'un correctif est sur le chemin. 

8
andyfinch

andyfinch, tu es un génie! Le code suivant semble fonctionner pour un bouton d'impression contenu dans un cadre:

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

la solution de travail d'Andyfinch fonctionne également pour nous. Merci Andy!

MS a signalé ce problème par "WON'T FIX" (15/06/17): https://developer.Microsoft.com/en-us/Microsoft-Edge/platform/issues/12349663/ Update: cet indicateur peut simplement indiquer qu'il ne s'agit pas d'un problème avec MS Edge, il ne sera donc pas résolu par les développeurs Edge. 

L’installation du KB4021558 annule l’impression à partir de notre site Web (les pages sont vierges, le pied de page présente une variante de "res: //ieframe.dll/i273gyew.htm"). La désinstallation restaure la fonctionnalité d'impression. 

KB4021558 est également inclus dans KB4022719, KB4022725 et KB4022727.

7
ScottDW

MS a publié des mises à jour hier (27 juin) qui traitent de Windows 10:

Cette mise à jour non liée à la sécurité inclut des améliorations de la qualité. Pas de nouveau les fonctionnalités du système d'exploitation sont introduites dans cette mise à jour. Clé les modifications comprennent:

• Résolution d'un problème introduit par KB4022715 où Internet Explorer et l’impression Microsoft Edge à partir d’un cadre peut entraîner l’absence de 404 fichiers trouvés ou une page vierge imprimée.

Liens:

Windows 10 (version initiale - version 10240)

KB4032695 - Build 10240.17446

Windows 10 version 1511 (version initiale - version 10586)

KB4032693- Build 10586.965

Windows 10 version 1607 (version initiale - version 14393)

KB4022723 - Build 14393.1378

Windows 10 version 1703 (version initiale - version 15063)

KB4022716 - Build 15063.447

Source/Plus d'infos

Je les ai saisis dans Catalogue Windows Update aujourd'hui, pour les utiliser avec WSUS.

2
techie007

J'ai trouvé une solution de contournement: si l'iframe que vous essayez d'imprimer est visible, faites un clic droit dessus et choisissez Aperçu avant impression ... au lieu de Imprimer ... dans le menu contextuel. L'aperçu semble être imprimable (mais peut ne montrer qu'une partie du contenu du cadre).

En outre, pour mémoire, la mise à jour problématique de Win7 64 bits est KB4022719.

2
mcd

Voici la solution de contournement que j’utilise pour cela dans IE 11:

  1. Faites un clic droit sur le cadre et choisissez tout sélectionner ou [ctrl + A] dans le cadre
  2. Faites un clic droit et choisissez l'aperçu avant impression
  3. Il devrait y avoir une option dans votre aperçu pour "Comme sélectionné à l'écran". Ce choix m'a permis de tout imprimer dans le cadre.
1
Bobcat88

Nous avions plusieurs cadres sur l’écran d’impression et appeler document.execCommand('print', false, null); n’a pas pu résoudre notre problème. À la place, window.parent[frameName].document.execCommand('print', false, null); l'a corrigé.

0
an33sh