Impression d'un popup créé par programmation

phidelum Messages postés 12 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 15 août 2011 - 12 janv. 2005 à 17:03
phidelum Messages postés 12 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 15 août 2011 - 2 févr. 2005 à 08:42
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

the_smurf Messages postés 283 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 juin 2006
13 janv. 2005 à 17:08
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
0
phidelum Messages postés 12 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 15 août 2011
13 janv. 2005 à 18:00
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
0
the_smurf Messages postés 283 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 juin 2006
14 janv. 2005 à 10:26
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
0
phidelum Messages postés 12 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 15 août 2011
17 janv. 2005 à 17:23
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phidelum Messages postés 12 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 15 août 2011
2 févr. 2005 à 08:42
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
0