Le site Web du client possède des listes de produits. Les prix du produit sont tirés de manière dynamique par un iframe au bas de la page. Il y a JavaScript sur la page qui redimensionne automatiquement cette iframe à la hauteur correcte en fonction de la taille de la taille de la contenue IFrame, une fois qu'elle est chargée. P>
Le client signale que lors de l'impression de la page, ils ne peuvent rien voir à partir de l'iframe où les prix doivent être - apparemment, il n'imprime pas IE, juste la page principale elle-même. P>
Je suis sur un Mac et je ne peux donc pas tester dans IE, alors j'ai du mal à expérimenter cela. P>
Quelqu'un peut-il clarifier le comportement attendu dans cette situation? Est-il possible d'obtenir IE pour imprimer les deux page et em> inclus iframes par défaut, et si oui, comment allez-moi faire cela? STRUT> Je ne peux trouver que des exemples d'impression d'un cadre spécifique de une fenêtre mère. p>
Merci! P>
5 Réponses :
C'était un point intéressant, j'ai donc fait un test en utilisant IE8 (sur un serveur, pas localement). P>
J'ai imprimé dans IE8 une page Web qui comprenait un iframe de quelque chose que j'ai construit. Et il imprimait une partie du contenu la première fois (les autres contenus ont montré du noir). La deuxième fois que j'ai imprimé, le contenu de l'iframe était tout noir. P>
Cependant, dans mon exemple, le contenu de l'iframe change constamment (des images et un texte qui s'estompe in et sortant) et le fond CSS derrière celui-ci est noir. P>
Ce test contient le contenu de l'iframe sur un autre serveur hôte que le contenu de la page principale. Mais à ma connaissance, il existe un fichier de stratégie de domaine croisé fonctionnant ici. P>
Les problèmes de politique croisée des domaines ont été ma première hypothèse, mais il est tout à fait possible qu'il existe un problème avec la manière dont Internet Explorer rend la capture d'écran lorsqu'elle l'envoie à l'imprimante. P>
Si vous utilisez JavaScript, alors pourquoi ne pas essayer fenêtre.print () code> fonction avec
Imprimer le support CSS CODE>. P>.
Le comportement attendu strong> devrait être ce que vous rencontrez dans d'autres navigateurs. Si la page est imprimée, l'iframe doit être imprimé avec elle. Il serait difficile d'imaginer que tout le monde a eu le problème et c'est-à-dire que c'est correct dans ce cas. p>
ci-dessous est un peu Ce problème pourrait être dû à certains CSS que vous pourriez avoir sur votre page. J'ai lu des problèmes d'impression code> similaires code> Iframe CODE> où la visibilité code> a été définie sur Un autre problème peut par votre redimensionnement dynamique en fonction du contenu de l'IFrame. Un test simple serait de commenter cette section de sortie et de définir une largeur générique code> et comme une suggestion rapide, consultez destiné à un matériau paginé et de documents visionnés à l'écran
mode de prévisualisation d'impression. Veuillez consulter la section sur Médias paginé pour
informations sur les problèmes de formatage spécifiques aux supports de pagie. P>
blockQuote>
lien utile strong>: spécification d'impression < / a> p> caché code> résultant initialement dans le
iframe code> non impression correctement. Pour contourner ce cas spécifique, l'utilisateur a dû définir la largeur code> et
hauteur code> à
0px code>. Sans en savoir plus sur votre site, je ne peux pas prédire correctement que cela se produit. p>
hauteur code> sur le
iframe code> pour voir si le problème d'impression survient toujours. Peut-être que ces styles dynamiques ne sont pas reportés à la feuille de style d'impression et ne sont pas appliqués (donc ne figurant pas du tout). p>
Types de supports CSS CODE> < / a>: p>
Je ne peux pas expliquer pourquoi c'est-à-dire que c'est-à-dire ne fonctionne pas, mais vous pouvez peut-être résoudre le problème en ajoutant cette partie du code dans la page parent, afin de forcer chaque iframe à se rafraîchir:
$(document).ready(function() { if($.browser.msie) {//Only for IE $('iframe').each(function() { $(this).attr('src', $(this).attr('src')); }); } });
. Navigateur Code> a été supprimé de JQuery à partir de 1,9: API.JQUERY. com / jquery.browser
Oui tu as raison. Vous devez utiliser une ancienne version JQuery, car la nouvelle méthode consiste à détecter si le navigateur prend en charge une fonctionnalité donnée et ne pas obtenir le nom du navigateur. C'est jquery.support et dans notre cas, nous ne savons pas où est le problème.
Essayez ce plugin, il résoudra votre problème http://project.erikzaadi.com/jqueryplugins/jquery.printelement/ p>
Cela ne répond pas à votre question, mais peut vous permettre de tester avec IE à l'avenir - HABDAS .org / émulation-ie-with-virtualbox
Il peut y avoir des différences dans la manière dont IE gère Iframes Impression, vous feriez mieux de fournir l'URL du site Web ou une source de page HTML (y compris CSS) qui ressemble au problème.
J'ai découvert que quelqu'un d'autre a signalé un problème similaire pour IE ici
Pourquoi ne pas utiliser Ajax pour obtenir les valeurs? Cela semble être une solution de contournement aussi étrange. De plus ... Après avoir défini les valeurs, vous n'avez pas à vous soucier de ne pas imprimer.
Veuillez vérifier les liens qu'il peut aider Stackoverflow.com/questions/44442344/... Stackoverflow.com/Questtions/2518256/...
Vous voudrez peut-être spécifier la version d'Internet Explorer exactement.