Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
19 Mar 2007, 12:52
Message
#1
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
Bonjour,
Je n'arrive plus à imprimer mes images qui s'ouvrent dans des pop ups. Quand j'imprime via Safari, c'est une page blanche qui sort, et quand j'essaie par firefox, j'ai un message d'erreur: la page a changé pendant que j'imprimais, relancer l'impression. je relance l'impression et là ça fonctionne. On peut voir des exemples ici Je précise que ce site existe depuis 5 ans, et que c'est la première fois que je vois ça! Merci d'avance! PS désolée pour le message d'avant, le '"fin de code" n'a pas fonctionné! -------------------- |
|
|
|
19 Mar 2007, 12:59
Message
#2
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
CITATION(tgval @ 19 Mar 2007, 12:52) [snapback]2145936[/snapback] PS désolée pour le message d'avant, le '"fin de code" n'a pas fonctionné! Il y a un bouton "Editer" en bas à droite -------------------- I think therefore I Mac
|
|
|
|
19 Mar 2007, 13:11
Message
#3
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
voui, mais tu vas pas le croire mais avec firefox, ça marche pas bien le bouton éditer, ni les autres d'ailleurs!
Sinon, une petite idée pour mes impressions? suis super mal, il faut que je répare ça avant vendredi pour le festival multimedia de Joinville le Pont..pont. -------------------- |
|
|
|
19 Mar 2007, 13:28
Message
#4
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
CITATION(tgval @ 19 Mar 2007, 13:11) [snapback]2145958[/snapback] voui, mais tu vas pas le croire mais avec firefox, ça marche pas bien le bouton éditer, ni les autres d'ailleurs! Sinon, une petite idée pour mes impressions? suis super mal, il faut que je répare ça avant vendredi pour le festival multimedia de Joinville le Pont..pont. Jamais eu de problème avec ces boutons sur FireFox... Pour les impressions, pas de problème non plus sur Safari... Quand je clique sur une image, il me propose une impression que je refuse, puis je fais "Imprimer" sur le pop-up et ça fonctionne. -------------------- I think therefore I Mac
|
|
|
|
19 Mar 2007, 13:33
Message
#5
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
tu veux dire que c'est normal?
et que je n'ai jamis rien remarqué? il y a une explication, voire un moyen d'imprimer directement? en tous cas, ça me rassure, je me dis qu'on m'aurait contactée si ça ne marchait vraiment pas! merci! -------------------- |
|
|
|
19 Mar 2007, 13:50
Message
#6
|
|
|
Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 1 144 Inscrit : 19 Jul 2002 Lieu : Au pays des vaches et du chocolat... Membre no 2 936 |
Salut,
j'ai une page blanche aussi. Pas essayé d'imprimer, mais j'ai fait un aperçu à la place. -------------------- |
|
|
|
19 Mar 2007, 13:54
Message
#7
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
je confirme, l'aperçu est fidèle à l'impression: blanc
-------------------- |
|
|
|
19 Mar 2007, 14:03
Message
#8
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
A mon avis le problème est certainement dû au fait qu'au moment où tu as voulu imprimer, ton image n'était pas encore chargée*. Si tu attends avant d'imprimer, ou si tu essayes une 2nde fois ça doit marcher car l'image est en cache sur ton ordi.
Pour vérifier, vide le cache (les fichiers appelés "temporaires" par certains navigateurs), et le problème se posera certainement à nouveau. Pour remédier à cela, tu pourrais charger les images par du javascript appelé par le onload du body de ta page. Avec du code du style (dans le head): CODE function chargerImages () { image1 = new Image(); image1.src = "image1.gif"; // ... autres images } HTML <body onload="java script:chargerImages()"> Comme ça, quand quelqu'un voudra imprimer une image, celle-ci aura déjà été chargée sur l'ordi du visiteur. Elle s'affichera sans délais, et ça devrait résoudre ton problème. (*) Explication: Dans ton code: CODE pop=window.open('../images/coloriages/ndebele/color1.gif','pop','toolbar=0,location=0,directories=0,status=0,scrollbars=yes,resizable=yes,copyhistory=0,menuBar=0,width=580,height=800'); pop.print()" - d'abord tu ouvres une fenêtre qui doit contenir ton image. - immédiatement après, tu fait demandes l'impression. Or quand il y a chargement d'un fichier ou d'une image, les choses se passent de façon asynchrone: Ta première instruction demande l'ouverture d'une fenêtre et l'affichage de l'image. La 2ème instruction est exécutée par le navigateur immédiatement après cette demande, sans attendre que l'image soit chargée. Si elle est chargée à ce moment là, ça marche, sinon, ben non. PS: L'espace entre "java" et "script" dans l'extrait html ci-dessus est ajouté automatiquement par le forum (j'imagine pour des raisons de sécurité), et ne devrait pas se trouver là ! Ce message a été modifié par marc_os - 19 Mar 2007, 14:15. -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
19 Mar 2007, 14:16
Message
#9
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 20 107 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Quoiqu'ayant une configuration bien différente (OS 9.1 et Mozeilla 1.3.1), j'observe le même comportement en deux temps que toi et Schlum :
CITATION Quand je clique sur une image, il me propose une impression que je refuse, puis je fais "Imprimer" sur le pop-up et ça fonctionne. Si je clique sur l'image choisie, une popup blanche s'ouvre, puis aussitôt la fenêtre de dialogue d'impression. 1º Si j'acquiesce alors, j'ai une page blanche (l'adresse de la page imprimée étant d'ailleurs la seule chose qui s'imprime et elle est parlante ! « about:blank »). 2º Si je refuse cette impression, l'image se charge et s'affiche à l'écran. Du coup, je peux l'imprimer sans problème à partir du menu Fichier. J'en conclus qu'il y a un problème de délai, ou de synchronisation, entre le chargement de l'image et l'appel de la commande d'impression [P.S.] Confirmation magistrale de cette hypothèse par marc_os ! -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
|
19 Mar 2007, 16:20
Message
#10
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
CITATION(tgval @ 19 Mar 2007, 13:33) [snapback]2145980[/snapback] tu veux dire que c'est normal? et que je n'ai jamis rien remarqué? il y a une explication, voire un moyen d'imprimer directement? en tous cas, ça me rassure, je me dis qu'on m'aurait contactée si ça ne marchait vraiment pas! merci! Ah, j'avais pas compris que le site était à toi ! Non, c'est pas "normal", mais on peut s'en tirer quoi -------------------- I think therefore I Mac
|
|
|
|
19 Mar 2007, 16:54
Message
#11
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
merci pour ces avis judicieux!
cependant, une question me taraude je ne m'en sens pas le courage, j'ai plus de 200 images à imprimer, elles ont toutes un nom différent! est ce qu'il y a moyen de mettre une fonction avec image n ? je ressens comme une grande fatigue tout d'un coup -------------------- |
|
|
|
19 Mar 2007, 18:15
Message
#12
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
CITATION(tgval @ 19 Mar 2007, 16:54) [snapback]2146202[/snapback] merci pour ces avis judicieux! cependant, une question me taraude je ne m'en sens pas le courage, j'ai plus de 200 images à imprimer, elles ont toutes un nom différent! est ce qu'il y a moyen de mettre une fonction avec image n ? je ressens comme une grande fatigue tout d'un coup Oui, ça fait un peu beaucoup... Mais d'abord avant de faire quoique ce soit, il faudrait valider mon hypothèse, donc sur une page vérifier que ça marche. Après, on pourra réfléchir à un moyen un peu sioux pour avoir le moins possible à écrire. Si ça marche bien, dans l'idéal, tu n'aurais qu'une ligne à ajouter par fichier pour inclure un fichier externe avec le code javascript. Mais à priori, je crains que tu devras au moins fournir la liste des images à charger par page. A moins d'écrire du code qui "analyse" chaque élément <a> dans ta page pour voir s'il y a un onclick, avec window.open et qui extraie le nom de l'image de la propriété onclick de l'élément... -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
19 Mar 2007, 18:28
Message
#13
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
OK, j'essaierai demain, mais a priori, je ne me taperai pas la liste des images, c'est trop long!
et puis je suis pas forte en javascript merci! -------------------- |
|
|
|
19 Mar 2007, 19:36
Message
#14
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
CITATION(tgval @ 19 Mar 2007, 18:28) [snapback]2146308[/snapback] OK, j'essaierai demain, mais a priori, je ne me taperai pas la liste des images, c'est trop long! et puis je suis pas forte en javascript merci! Bon, c'est Noël avant l'heure. J'ai pris ma plus belle plume informatique, et je me suis fendu du code ci-dessous. Celui-ci examine tous les liens <a>, et la valeur d'un éventuel onclick pour en extraire le nom de l'image qui peut s'y trouver. Et bien sûr il charge les images trouvées. Il suffit de copier ce code tel quel dans un fichier que tu pourras nommer par exemple chargementImages.js [codebox] function chargerImage(urlImage) { var img = new Image(); img.src = urlImage; } function chargerImagesDansTagsA() { var extensions = new Array("jpg", "gif", "png"); // ajouter ici des extensions si nécessaire var marqueursDebutImage = new Array("'", "\""); var nbLiens = document.links.length; var nbExtensions = extensions.length; var nbMarqueurs = marqueursDebutImage.length; for ( i=0; i<nbLiens; i++ ) { var lien = document.links[i]; var textOnClick = lien.onclick; var objText = new String(textOnClick); for ( j=0; j<nbExtensions; j++ ) { var extension = "." + extensions[j]; var positionExtension = objText.search(extension); if ( positionExtension > 0 ) { objText = objText.substring(0, positionExtension); // contient la valeur de onclick jusqu'au nom de l'image sans l'extension for ( k=0; k<nbMarqueurs; k++ ) { var positionDernierMarqueur = objText.lastIndexOf(marqueursDebutImage[k]); if ( positionDernierMarqueur >= 0 ) { objText = objText.substring(positionDernierMarqueur+1); urlImage = objText + extension; chargerImage(urlImage); //alert(urlImage); // on a trouvé le nom de l'image donc: j = nbExtensions; // pas la peine de chercher une image avec une autre extension break; // on sort de la boucle intérieure } } } } } } [/codebox] Ce fichier, tu peux le mettre par exemple dans un dossier nommé "js". Une fois que c'est fait, tu n'as que deux choses à ajouter au code HTML de tes fichiers: 1. Dans la section <head> : HTML <script src="js/chargementImages.js" language="javascript" type="text/javascript"></script> 2. tu ajoutes dans le onload du tag body ceci: chargerImagesDansTagsA(); Pour vérifier que mon code trouve bien les chemins de tes images, tu peux supprimer les deux slash devant alert(urlImage). Un message affichera alors le chemin de chaque image trouvée dans tes liens. Une fois que tu es convaincue qu'il les trouve bien, remettre bien sûr ces deux slashs pour désactiver l'appel à alert(), voire supprimer cette ligne qui ne sert qu'à tester. Bon, tout ça c'est dans l'hypothèse que le fait de précharger les images résoudra ton problème. J'espère que c'est bien le cas !! Ce message a été modifié par marc_os - 19 Mar 2007, 19:44. -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
19 Mar 2007, 20:37
Message
#15
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 20 107 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
CITATION Bon, tout ça c'est dans l'hypothèse que le fait de précharger les images résoudra ton problème. J'espère que c'est bien le cas !! L'expérience suivante tend à le montrer : Charger la page, cliquer sur une image, décliner l'invitation à imprimer la popup s'affiche. Revenir sur la page principale, cliquer sur la même image. L'impression est bonne. -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
|
19 Mar 2007, 21:16
Message
#16
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
CITATION(baron @ 19 Mar 2007, 20:37) [snapback]2146480[/snapback] CITATION Bon, tout ça c'est dans l'hypothèse que le fait de précharger les images résoudra ton problème. J'espère que c'est bien le cas !! L'expérience suivante tend à le montrer : Charger la page, cliquer sur une image, décliner l'invitation à imprimer la popup s'affiche. Revenir sur la page principale, cliquer sur la même image. L'impression est bonne. Oui, c'est ce que j'ai fait aussi -------------------- I think therefore I Mac
|
|
|
|
20 Mar 2007, 02:13
Message
#17
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 20 107 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
CITATION (schlum @ 19 Mar 2007, 21:16 ) CITATION (baron @ 19 Mar 2007, 20:37) CITATION (marc_os @ 19 Mar 2007, 19:44.) Bon, tout ça c'est dans l'hypothèse que le fait de précharger les images résoudra ton problème. J'espère que c'est bien le cas !! L'expérience suivante tend à le montrer : Charger la page, cliquer sur une image, décliner l'invitation à imprimer la popup s'affiche. Revenir sur la page principale, cliquer sur la même image. L'impression est bonne. Oui, c'est ce que j'ai fait aussi Pour qu'on se comprenne bien, je précise que j'ai fait deux expériences successives : La première consistait comme tu sembles l'avoir fait à laisser la popup s'afficher, après avoir décliné la fenêtre d'impression automatique, puis à imprimer de manière traditionnelle, via le menu Fichier, le contenu de cette fenêtre surgissante. La deuxième à laisser, de la même façon, s'afficher cette fenêtre popup puis à revenir dans la première fenêtre générale tout en laissant affichée en arrière-plan l'image .gif dans sa fenêtre et à cliquer une deuxième fois sur le même lien, qui produisait alors une impression correcte. CITATION (baron @ hier, 14:16) Quoiqu'ayant une configuration bien différente (OS 9.1 et Moz CITATION Quand je clique sur une image, il me propose une impression que je refuse, puis je fais "Imprimer" sur le pop-up et ça fonctionne. Si je clique sur l'image choisie, une popup blanche s'ouvre, puis aussitôt la fenêtre de dialogue d'impression. 1º Si j'acquiesce alors, j'ai une page blanche (l'adresse de la page imprimée étant d'ailleurs la seule chose qui s'imprime et elle est parlante ! « about:blank »). 2º Si je refuse cette impression, l'image se charge et s'affiche à l'écran. Du coup, je peux l'imprimer sans problème à partir du menu Fichier. J'en ai faite une troisième : Comme en 2) mais en ayant d'abord refermé la fenêtre popup, puis en recliquant sur le lien de la page principale => impression vide. L'important est donc de charger l'image et de la garder chargée, pas de l'avoir en cache me semble-t-il -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
|
20 Mar 2007, 11:38
Message
#18
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
CITATION(baron @ 20 Mar 2007, 02:13) [snapback]2146772[/snapback] [...] L'important est donc de charger l'image et de la garder chargée, pas de l'avoir en cache me semble-t-il C'est pour ça que je précisais: "si ça marche". En effet, même si l'image est préchargée par du code javascript, quand la nouvelle fenêtre est affichée, l'image doit être lue depuis le disque dur. Et là aussi, ça se fait de façon asynchrone. Même si c'est x fois plus rapide que de télécharger l'image, ça peut ne pas être suffisant, et il se peut que l'image ne soit pas (suffisament) chargée quand l'appel javascript à print est fait. Je vais faire quelques petits essais dans ma pause midi pour réduire à zéro ce risque. A toute... -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
20 Mar 2007, 13:48
Message
#19
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
CITATION(marc_os @ 20 Mar 2007, 11:38) [snapback]2147029[/snapback] [...] A toute... Me revoilà. Donc, j'ai un peu étofé mon code javascript. Le principe du code : - comme avant, faire le tour de tous les liens d'une page et si dans le onclick on trouve une url d'image, on précharge celle-ci. - on regarde aussi si le onclick contient window.open et pop.print(). Si c'est le cas, je change la propriété onclick de sorte que celle-ci appelle une fonction javascript perso chargée d'ouvrir une nouvelle fenêtre comme avant, et de lancer l'impression. - Cette nouvelle fonction à la différence d'avant fait en sorte que la demande d'impression ne se fasse qu'une fois que l'image est bel et bien chargée. Ça marche comme avant, la seule différence est la taille des fenêtres ouvertes qui est la taille de la fenêtre d'où on vient, et non pas la taille de l'image. Mais ça ne devrait pas poser de problème ! Voici le code : [codebox] var gImages = new Array(); function chargerImage(urlImage) { var img = new Image(); gImages.push(img); img.src = urlImage; } function chargerImagesDansTagsA() { var extensions = new Array("jpg", "gif", "png"); // ajouter ici des extensions si nécessaire var marqueursDebutImage = new Array("'", "\""); var nbLiens = document.links.length; var nbExtensions = extensions.length; var nbMarqueurs = marqueursDebutImage.length; for ( i=0; i<nbLiens; i++ ) { var lien = document.links[i]; var textOnClick = lien.onclick; var oTextOnClick = new String(textOnClick); for ( j=0; j<nbExtensions; j++ ) { var extension = "." + extensions[j]; var positionExtension = oTextOnClick.search(extension); if ( positionExtension > 0 ) { oText = oTextOnClick.substring(0, positionExtension); // contient la valeur de onclick jusqu'au nom de l'image sans l'extension for ( k=0; k<nbMarqueurs; k++ ) { var positionDernierMarqueur = oText.lastIndexOf(marqueursDebutImage[k]); if ( positionDernierMarqueur >= 0 ) { oText = oText.substring(positionDernierMarqueur+1); urlImage = oText + extension; chargerImage(urlImage); // On va mettre un onclick qui va bien // Petit test sur le onclick pour éviter de remplacer ce qu'il ne faut pas. // Il doit contenir window.open et pop.print(). if ( oTextOnClick.search("window.open") != -1 && oTextOnClick.search("pop.print()") != -1 ) { // mais on doit d'abord stocker les infos dont on a besoin lien.grandeImage = urlImage; // trop cool, on peut ajouter des propriétés aux objets comme on veut // Le nouveau onclick pour le lien (cf. http://www.brainjar.com/dhtml/events/ ) lien.onclick = afficherEtImprimerGrandeImage; } // on a trouvé le nom de l'image donc: j = nbExtensions; // pas la peine de chercher une image avec une autre extension => on sortira de la boucle sur les extensions break; // on sort de la boucle en cours } } } } } } function afficherEtImprimerGrandeImage(event) { afficherEtImprimerImage(this.grandeImage); } // On aurait pu aussi ouvrir un fichier php à qui on aurait passé en paramètre le nom de l'image à afficher. // Mais ça aurait fait un fichier en plus à mettre sur le site, et là ça marche sans php function afficherEtImprimerImage(urlFichier) { win = window.open(); doc = win.document; doc.writeln('<html>'); doc.writeln('<head>'); doc.writeln('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); doc.writeln('<title>Image à imprimer</title>'); doc.writeln('</head>'); doc.writeln('<body style="margin:0; padding:0">'); // setTimeout ci-dessous nécessaire avec FireFox PC: sinon, affichage d'une fenêtre grise sous la boîte de dialogue d'impression doc.writeln('<img src="' + urlFichier + '" alt="" onload="window.setTimeout(\'window.print()\', 100);">'); doc.writeln('</body>'); doc.write('</html>'); doc.close(); return false; } [/codebox] Les modifications à faire dans tes fichiers sont les mêmes que pour ma première version du code: - copier le code dans un fichier .js Pour chaque page concernée: - inclure ce fichier .js dans le head du fichier - appeler chargerImagesDansTagsA() dans le onload du body. C'est tout ! Pour tes prochaines pages, idem, mais pour tes liens tu peux utiliser directement afficherEtImprimerImage dans le onclick pour remplacer le window.open. Par exemple: HTML <a href="#" target="_self" onClick="afficherEtImprimerImage('images/grandeImage.jpg')"><img src="images/petiteImage.jpg" alt=""></a> Voili voilà, on apprend tous les jours. PS: Testé et approuvé sur IE6, IE7 et Firefox 2 sur PC (et oui, au taf je suis sur PC Ce message a été modifié par marc_os - 20 Mar 2007, 14:10. -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
20 Mar 2007, 14:21
Message
#20
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 238 Inscrit : 20 Oct 2003 Membre no 10 604 |
j'ai dû oublier de vous dire que j'y connaissais que pouic en js! bon, alors, j'ai pas tout compris, c'est sûr mais je garde ça sous le coude pour la semaine prochaine, après ce festival. Mais par exemple, dans une même page, je peux avoir des images en JPg, d'autres en gif: ça marche quand même le code? faut que je rajoute la même ligne avec gif au lieu de jpg? en tous cas merci beaucoup marc_os de t'être laissé mourir de faim pour m'aider et comment ils font les autres gens pour imprimer? ils se tapent tout ce code? -------------------- |
|
|
|
20 Mar 2007, 14:35
Message
#21
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 6 493 Inscrit : 21 Apr 2006 Membre no 59 799 |
Tu n'as en tout qu'une ligne à ajouter à chaque fichier, et chargerImagesDansTagsA() à ajouter dans le onload du tag body, c'est tout. Rien d'autre à faire.
Je t'ai mis un exemple ici, tu peux afficher la source pour voir, tu verras c'est simplissime. Le fichier js est là. Tu peux simplement télécharger le fichier et le mettre chez toi. Et là, c'est une version "debug" qui affiche les urls des fichiers préchargés quand il sont disponibles, càd quand leur chargement est terminé. (Rq: L'affichage des noms de fichiers marche avec tous les navigateurs que j'ai testés, sauf Safari 1.3.2). Le code js prend en compte les extensions gif, jpf et png. Si tu utilises d'autres extensions, il suffit de les ajouter à la liste ligne 14 du fichier js. Bon, ben je vais me chercher un sandwich. PS: Les autres ne demandent pas l'ouverture d'une nouvelle page ET l'impression imédiate... Edit : Testé et approuvé sur Mac avec Safari 1.3.2, Firefox 2 et Opera 9. Ce message a été modifié par marc_os - 20 Mar 2007, 21:33. -------------------- ----------------- --JE-------SUIS-- --AHMED-CHARLIE-- --CLARISSA-YOAV-- ----------------- |
|
|
|
![]() ![]() |
| Nous sommes le : 2nd November 2025 - 13:46 |