Cette solution fonctionne correctement dans Firefox 3.0+, mais IE8/7 imprime simplement toute la page, pas l'iframe spécifique.Impression d'un iFrame caché dans IE
C'est la fonction qui est appelée lorsque le lien d'impression est cliqué:
var printfunc= function(){
var url = http://someurl.aspx;
//This iFrame has style="visibility: hidden; position: absolute; left: -9000px;"
var printIFrame = GetObj('PrintIFrame');
printIFrame.src = url;
}
Le ASPX qui est chargé dans l'iframe caché appelle la fonction d'impression sur le gestionnaire d'événements onload:
<body onload="PrintJS.Print();">
La fonction d'impression:
this.Print = function(){
self.focus();
self.print();
return false;
}
J'ai aussi essayé avec « fenêtre » au lieu de "soi". Les deux solutions fonctionnent bien dans FF mais IE ne semble pas avoir la bonne portée. Des pensées? Une solution cross-browser serait géniale! En outre, je préfère utiliser les styles d'impression CSS, mais le contenu que j'imprime est différent de celui de la page, d'où la nécessité de charger du HTML dans un iframe caché.
Est-ce à une imprimante secrète que personne ne connaît? (désolé, n'a pas pu résister :)) – KristoferA