Attention cette page est ancienne
Vous 黎es ici : Accueil des cours Misfu> Informatique> Apprendre la programmation> Cours Javascript> Imprimer une page en JavaScript

Traduction de la page 'Printing a page' (lien mort) r馘ig馥 par Peter-Paul Koch et traduite par Christophe Bruggeman

La traduction est en cours, si vous trouvez une erreur sur une page ou si vous souhaitez sugg駻er une am駘ioration, n'h駸itez pas ? utiliser le forum .

Imprimer une page

window.print() fonctionne dans Netscape 4 et 6, Explorer 5+ sur Windows, Opera 6, iCab, Ice Browser et Hotjava 3, WebTV ne fait pas grand-chose alors qu段l indique supporter cette m騁hode.

Le VBScript de cette page fonctionne dans Explorer 4, 5 et 6 sur Windows (cependant seul le 4 en a vraiment besoin).

Une fonctionnalit? souvent demand馥 est le lien d'impression, avec lequel les utilisateurs peuvent imprimer une page. Ceci peut 黎re tr鑚 utile dans les sites usant des frames quand vous ne souhaitez pas expliquer ? l'utilisateur qu'il doit cliquer sur la bonne frame, puis cliquer sur "print" etc...

Je ne suis pas encore satisfait de la mani鑽e dont le script ? 騁? r饌lis?. J'ai d馗ouvert de s駻ieux probl鑪es pour connecter le JavaScript et le VBScript utile pour Internet explorer 4. Je vais probablement le r馗rire plus tard.

Exemple

Comme d'habitude, vous pouvez essayer le script. J'ai ajout? mon d騁ecteur de navigateur ainsi vous saurez pour chaque impression quel navigateur vous avez utilis?.

Le script

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var VBS = false;
// -->
</SCRIPT>
<script language="VBScript">
sub window_onunload
 on error resume next
 set WB = nothing
end sub
function printIt
'	on error resume next
	call WB.ExecWB(6,1)
'6,2 gives no alert
 if err.number <> 0 then
 if DA then ' Internet Explorer 4 they probably cancelled
 alert "Nothing Printed :" & err.number & " : " & err.description
 else
 handle_error ' ie3x give alternate instructions
 end if
 end if
end function
document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:8856F961-340A-11D0-A96B-00C04FD705A2""> </OBJECT>"
VBS = true
</script>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
/* The actual print function */
function prePrint()
{
	if (window.print) window.print();
	else if (VBS) printIt();
	else alert('This script does not work in your browser');
}
// -->
</SCRIPT>

En cliquant sur le lien impression, vous appelez la fonction prePrint() qui d馗ouvre pour vous si le navigateur permet d段mprimer et, si oui, si 軋 doit 黎re faite par JavaScript ou par VBScript.

Courte explication

Puisque je vais r鳬crire ce script plus tard, je garderai une courte explication.

Dans le JavaScript la mani鑽e th駮rique d'imprimer une frame ou fen黎re est

window.print()

Ceci fonctionne dans Netscape 4 et plus, iCab, Hotjava et Windows explorer 5 et plus. Les autres navigateurs ne peuvent pas le supporter, except? Internet Explorer 4 sur Windows (et, c弾st une rumeur, Explorer 3). Ici nous utilisons du VBScript pour cr馥r un objet qui contient un exemple du navigateur et lui donne ID="WB"

document.write "<object id=""wb"" width=0 height=0 classid=""clsid:8856f961-340a-11d0-a96b-00c04fd705a2""> </object>"

Puis nous appelons la fonction WB.ExecWB(6,1) qui signifie imprimer.

call WB.ExecWB(6,1)

Je ne suis toujours pas enti鑽ement s?r de la mani鑽e dont il fonctionne, j'y reviendrai plus tard.

Impression d'autres frames

Pour imprimer d誕utres frames dans Internet Explorer il est n馗essaire de mettre d誕bord le focus sur elles :

parent.framename.focus();
parent.framename.print();

Cours JavaScript : Introduction Javascript Ajouter du Javascript D騁ection d'objet D馗larations Fontions String DOM Bool馥n DOM interm馘iaire Objets This MouseOver Imprimer D騁ection navigateur

AltStyle によって変換されたページ (->オリジナル) /