Impression d'un popup créé par programmation

Signaler
Messages postés
12
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
15 août 2011
-
Messages postés
12
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
15 août 2011
-
Bonjour,

je cherche à imprimer le résultat d'un calcul dans une fenêtre style popup créée de toute pièce en javascript. Cela parait simple, mais sans succès.
Merci de bien vouloir me donner un indice.

Le source est le suivant:

<HTML>
<HEAD>
<TITLE>Essai d'impression de PopUp</TITLE>
<LINK rel="stylesheet" type="text/css" href="style.CSS">


<SCRIPT language="JavaScript">



function popUp (chaineResultat)
{
var chaine = '' ;

//Création et ouverture d'une nouvelle page style popup
popupImp = window.open('', null, 'height=370, width=500, top=50, left=50, status=yes, directories=yes, toolbar=yes, menubar=yes, location=yes, scrollbars=yes, resizable=yes') ;

//Constitution et écriture de l'entête
chaine = '<HTML>\n' ;
chaine += '<HEAD>\n' ;
chaine += ' <TITLE>Résultat du calcul</TITLE>\n' ;
chaine += ' <LINK rel="stylesheet" type="text/css" href="style.CSS">\n\n' ;
chaine += '</HEAD>\n\n' ;
chaine += '\n' ;
chaine += ' Résultat du calcul : ' + chaineResultat + '
\n' ;
popupImp.document.write(chaine) ;

//Constitution et écriture des informations de fin de page et des boutons d'impression et de fermeture
chaine = '

\n' ;
chaine += ' <Form>\n' ;
chaine += ' <CENTER>\n' ;
chaine += ' &nbsp;\n' ;
chaine += ' \n' ;
chaine += ' </CENTER>\n' ;
chaine += ' </Form>\n' ;
chaine += '\n' ;
chaine += '</HTML>\n\n' ;
popupImp.document.write(chaine) ;

}
</SCRIPT>


</HEAD>



<Form action="">




</HTML>

Alain

5 réponses

Messages postés
283
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 juin 2006

Et qu'est ce qui ne fonctionne pas?


The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer
Messages postés
12
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
15 août 2011

Merci de t'intéresser à mon pb.

J'ai beau appuyer sur le bouton imprimer, la fenêtre d'impression n'apparait pas. Je ne peut donc pas imprimer. Contrairement au source joint, tout les attributs de la fenêtre sont à "no" pour en faire un popup. Ici, il sont à "yes" pour les essais.
Par contre, si je prend le source de ma fenètre générée par le script, et que je l'enregistre en .htm, la fenêtre d'impression apparait.

Alain
Messages postés
283
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 juin 2006

Effectivement ça ne marche pas. On dirait que l'on ne peut pas imprimer une page sans qu'elle est un support (page html)...

J'ai alors essayé autre chose:
La page qui devait créer un popup (azer.html chez moi) s'appelle elle même et se modifie en popup...
C'est pas beau mais ça fonctionne. C'est pas très rapide non plus si ta page de lancement de popup est de grande taille car on la recharge pour rien

Voici l'exemple (azer.html)
<HTML>
<HEAD>
<TITLE>Essai d'impression de PopUp</TITLE>
<LINK rel="stylesheet" type="text/css" href="style.CSS">


<SCRIPT language="JavaScript">
var chaine;


function popUp (chaineResultat)
{
popupImp = window.open('azer.html', null, 'height=370, width=500, top=50, left=50, status=yes, directories=yes, toolbar=yes, menubar=yes, location=yes, scrollbars=yes, resizable=yes') ;
popupImp.changeContent(chaineResultat);
}


function changeContent(chaineResultat){
alert('test');
chaine = ' Résultat du calcul : ' + chaineResultat + '
\n' ;
chaine += '

\n' ;
chaine += ' <Form>\n' ;
chaine += ' <CENTER>\n' ;
chaine += ' &nbsp;\n' ;
chaine += ' \n' ;
chaine += ' </CENTER>\n' ;
chaine += ' </Form>\n' ;
window.document.getElementsByTagName("BODY")[0].innerHTML = chaine;
}


</SCRIPT>


</HEAD>



<Form action="">




</HTML>


The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer
Messages postés
12
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
15 août 2011

Bonjour,

merci pour ton code, mais il ne fonctionne qu'une seule fois. J'ai bien essayé plusieurs choses ce week-end, mais en vain. Je n'ai pas encore assez de recul en JS.

Alain
Messages postés
12
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
15 août 2011

J'ai touvé la réponse à mon problème et l'impression fonctionne (testé sous IE et Nescape).

Après avoir tout écrit dans la page, il faut terminer par la commande popupImp.document.close() ;

Alain