6
votes

Imprimer le contenu iframe dans l'opéra et le chrome

J'essaie d'imprimer un contenu iframe.

contentWindow.focus();
contentWindow.print();


2 commentaires

De l'article lié, il semble qu'au moins pour Chrome, vous devriez avoir du succès. Est l'iframe sur un domaine différent?


Non, c'est du même domaine.


4 Réponses :


2
votes

Si je comprends, il est impossible d'implémenter l'impression iframe sans ouvrir une nouvelle fenêtre.

Ma fonction d'impression: xxx

J'ai ajouté le code suivant à la fin de le corps (quand impression == 1): xxx


0 commentaires

1
votes

Je ne peux pas reproduire votre problème avec Chrome. L'opéra, cependant, affiche toujours la page extérieure entière lorsque vous essayez de ne pas imprimer que l'iframe.

J'ai conçu une solution de contournement et, bien que cela fonctionne principalement, ce ne soit pas 100% de faiblesse (entre autres, car l'opéra enveloppe les lignes d'impression ; Je ne sais pas comment calculer la bonne hauteur dans de tels cas). Cela dit, le code suivant fonctionne au moins raisonnable (en utilisant jQuery pour la commodité): xxx

espère que cela aide.


0 commentaires

5
votes

Ceci est un bug connu dans l'opéra. En plus des idées ci-dessus pour les travaux de contournement, vous voudrez peut-être jouer avec quelque chose comme ceci:

    var clone=document.documentElement.cloneNode(true)
    var win=window.open('about:blank');
    win.document.replaceChild(clone, win.document.documentElement);
    win.print();


0 commentaires

0
votes

J'ai essayé au-dessus du code et après modification des codes ci-dessus, je suis venu avec un code concluant comme suit xxx

essayez celui-ci


0 commentaires