begin process at 2012 02 05 22:23:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > IMPRESSION D UNE AUTRE PAGE A PARTIR D UN LIEN

IMPRESSION D UNE AUTRE PAGE A PARTIR D UN LIEN


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :imprimer, page, javascript, autre Niveau :Débutant Date de création :17/01/2006 Date de mise à jour :23/01/2006 17:05:58 Vu :19 043

Auteur : michimanon

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Bonjour, alors vu que j ai pas trouve la solution sur le site, j ai cherche dans des sites anglophones.
Et j ai trouve la solution pour imprimer autre page que celle présente à l'écran, et cela sans avoir a l afficher au prealable.
Voila c est tt simple pourtant..

Source

  • Il faut mettre une iframe dans la page (ou se trouve le lien)
  • <iframe height="0px" src="autrepage.htm" style="visibility: hidden"></iframe>
  • Et mon lien :
  • <a href="javascript:impression()">Imprimer</a>
  • Aussi dans head:
  • <link rel="alternate" media="print" href="autrepage.htm">
  • Avec la fonction :
  • function impression() {
  • window.frames[0].print();
  • }
  • Voila c est tout, ca marche aussi bien sur IE que FF.
  • (Et si on desire lancer l'impression a l ouverture de la page il suffit de mettre dans le body de la 2eme page a imprimer:
  • <body onload="window.print()">
  • )
Il faut mettre une iframe dans la page (ou se trouve le lien)

<iframe height="0px" src="autrepage.htm" style="visibility: hidden"></iframe>

Et mon lien : 
<a href="javascript:impression()">Imprimer</a>

Aussi dans head:
<link rel="alternate" media="print" href="autrepage.htm"> 

Avec la fonction :
function impression() {
    window.frames[0].print();
  }

Voila c est tout, ca marche aussi bien sur IE que FF.
(Et si on desire lancer l'impression a l ouverture de la page il suffit de mettre dans le body de la 2eme page a imprimer:
 <body onload="window.print()"> 
) 

 Conclusion

Bon pour la source du code , je l ai eue dans ce site
http://www.webxpertz.net/forums/showthread.php?th readid=2849


 Historique

23 janvier 2006 14:18:25 :
J ai juste change le niveau de la source vu que coucou747 m en a fait la remarque J ai pas trouve le niveau Copié...
23 janvier 2006 17:05:59 :
Il faut mettre "<link rel="alternate" media="print" href="lien.htm"> pour que ca marche

 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111
Source avec une capture PROTECTION DE CONTENU DE PAGE WEB PAR JAVASCRIPT par lucas74
DÉTECTION JAVASCRIPT/AJAX SANS RECHARGER LA PAGE (JS/PHP) par Lomendil
Source avec Zip OUVERTURE DE PAGE JUSTE À UN ENDROIT OU SUR DES DONNES PRÉCI... par abdelaziz_info

Commentaires et avis

Commentaire de nekosan3 le 18/01/2006 09:41:58

Merci pour ta recherche, ça va m'aider à optimiser mon site. Moi pour mon site de recettes japonaise, la page à imprimer avais été travaillé sur un log de mise en page puis mis en  .pdf à telecharger, avec bien sur si les visiteurs ne l'ont pas, le programme Reader's aussi en telechargement en lien.    

Commentaire de coucou747 le 22/01/2006 11:06:16 administrateur CS

salut
cette source est tirée d'un tutorial, pas besoin d'avoir travaillé pour trouver ça...
ça ne vaut pas du tout initié...

Commentaire de michimanon le 23/01/2006 14:15:26

Salut coucou747
pour le Niveau de la source, t as tt a fait raison
sauf que moi j ai rempli le truc a la va vite (je pensais qu il s agissait de mon niveau a moi..)
Anyway.. merci pour la remarque

Commentaire de gui2113 le 18/04/2007 16:54:18

Voilà mon problème :
sur une page, j'ai une table contenant une liste de pièces provenant d'une DB access. Dans cette table, pour chaque record, j'ai une image qui renvoie vers une page update. dans celle-ci on peut rentrer certaines informations qui s'ajouteront dans ma DB. Je souhaiterai créer un bouton du même type qui imprimerais la page d'Update.

Voici le type de lien que j'utilise pour accéder à ma page d'update:

<a href=requestUpdate.asp?id={{ID}}&cl="+server.URLEncode(cl)<img src='images/buttonUpdate.gif'></a>

Le problème avec ton code est qu'il faut connaitre à l'avance le nom de la page à imprimer pour l'introduire dans le head.

Quelqu'un connait-il une solution ??

Merci d'avance

Commentaire de cedcyr le 10/05/2007 23:49:04

ce code est interesant pour un novice comme moi mais je cherche a imprimer une photo presente sur une autre page et ca marche à un detail près ! lors de l'impression ma photo dépasse du cadre, comment puis-je forcer le redimentionnement de celle-ci

voici le code de ma page:

<head>
    <title>plan pour prise 7 broche</title>
    <link rel="alternate" media="print" href="13 broche.jpg">

</head>
<script>function impression() {
    window.frames[0].print();
  }
</script>

<body bgcolor="#ccffff">

<iframe height="0px" src="13 broche.jpg" style="visibility: hidden"></iframe>
<p align="center">ceci est le plan de cablage pour une prise 7 broches standard norme iso 1724</p>
<p align="center">    <img src="prise 7 broche.jpg" width="500" height="350" border="4" /> </p>
<p align="center"><span title="cliquer sur ce lien pour imprimer ce plan"><img SRC="printer.ico" OnClick="javascript:window.print()"/></span></p>
<a href="javascript:impression()">Imprimer</a>

</body>
</html>



merci pour votre aide par avance

cedcyr!

Commentaire de merkhaled le 07/10/2007 09:44:41

Pour répondre à GUI2113 :
il suffit de mettre un <div id=entete></div>
dans le head

et qd tu as l'adresse de la page à imprimer, tu change le contenu du div avec la fonction innerHTML
c'est de l'ajax.
<head>
<div id=entete></div>
</head>
<body>

<script language=javascript>
var adresse="ma_page.php";
document.getElementById("entete").innerHTML="<link rel=\"alternate\" media=\"print\" href=\""+adresse+"\">";
</script>

</body>

;)

Commentaire de laurent75014 le 17/11/2007 10:58:39

Bonjour,
Je souhaitais pouvoir utiliser ce code pour imprimer deux pages différentes a partir d'une page d'accueil.

<script>
<!--  
function impression_1() {
window.frames[0].print();
}

function impression_2() {
window.frames[1].print();
}
//-->
</script>


dans le body, 2 iframe

et dans le head
<link rel="alternate" media="print" href="page1.html">
<link rel="alternate" media="print" href="page2.html">


C'est la que ca cloche, avec FF, ca marche nickel, mais avec IE, c'est toujours la page1 qui s'imprime, jamais la page 2.

Y a t'il une solution pour imprimer au choix soit la page1, soit la page2.

Merci de votre aide.

Commentaire de phpajax le 18/11/2007 11:13:35

bonjour,
réponse à laurent75014:

une idée  que  je  trouve pas mal, que  tu peut améliorer à ton  gout, il s'agit d'ouvrir un popup, on mettra dedans tous les éléments qu'on veut imprimer, tu peut ajouter une entete, un pied de page ...

"page-break-after:always" sert a faire un saut de page.

voilà si quelqu'un peut trouver une amélioration pour faire ceci sans à ouvrir un popup, je suis preneur .

<script language=javascript>

function imprime()
   {
      // Définit la zone à imprimer
      var zi = window.frames[0].innerHTML;
       zi =zi+"<h1 style=\"page-break-after:always\">";
       zi =zi+" "+ window.frames[1].innerHTML.innerHTML;


      var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD></HEAD><BODY onload="window.print();window.close()">';
      zi = zi+"<hr></body></html>";
      // Ouvre une nouvelle fenetre
      var f = window.open("", "ZoneImpr", "height=200, width="+screen.width+",toolbar=0, menubar=0, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");

      // Définit le Style de la page
      f.document.body.style.color = '#000000';
      f.document.body.style.backgroundColor = '#FFFFFF';
      f.document.body.style.padding = "10px";

      // Ajoute les Données

      f.document.write ("" + Headers + zi );
      f.document.close();
      // Imprime et ferme la fenetre


      return;
   }
</script>

Commentaire de leojou le 26/11/2007 13:39:58

Salut,

Intéressante cette source, mais :

Visiblement ça ne fonctionne pas avec tous les navigateurs mac, pouvez vous me dire si ça fonctionne sur tous les navigateurs pc ?

Explorer : ne fonctionne pas
Firefox & Netscape : inclue un rectangle noir en haut de page
Opéra : imprime la page mère et non la cible
Safari : fonctionne bien

Est-ce pareil sur pc ? Si oui, y-a-t-il un correctif qui permettrai de rendre le code compatible avec tous les navigateurs ?

Commentaire de leojou le 26/11/2007 14:02:44

(il n'y a pas de fonction éditer sur ce forum, alors j'ajoute quelques précision à mon message précédent)

quand "style="visibility: hidden" est inclus dans le code, ça marche bien avec firefox, netscape, safari, mais les problèmes cités dans le post précédent persistent avec opéra et explorer mac

quand "style="visibility: hidden" est supprimé du code, les symptomes sont ceux cités dans le post précédent, ça ne fonctionne pas, sauf avec safari

alors je réitère ma question : y-a-t-il un correctif qui permettrai de rendre le code compatible avec tous les navigateurs ?

<head>
<link rel="alternate" media="print" href="print.htm">
</head>

<script>
<!--  
function impression() {
window.frames[0].print();
}
</script>


<body>
<iframe height="0px" src="print.htm"  style="visibility: hidden" ></iframe>
<a href="javascript:impression()">Imprimer</a>
</body>
</html>

Commentaire de phpajax le 26/11/2007 14:09:17

il suffit que  tu aie la logique objets:
Au lieu de mettre window.frames[0].
Tu ajoute id='frame1' dans ta balise <frame> ou <iframe>
Tu change : window.frames[0].print(); par document.getElementById('frame1').print();

Ca devrait fonctionner. ;)

Commentaire de leojou le 26/11/2007 15:11:46

j'ai essayé, mais il ne se passe rien quand je clique sur imprimer, voici le code corrigé selon tes conseils, je me suis peut-être gouré ? :


<head>
<link rel="alternate" media="print" href="print.htm">
</head>

<script>

<!--  
function impression() {
document.getElementById('frame1').print();
}
</script>

<body>

<iframe id='frame1' height="0px" src="print.htm"  style="visibility: hidden" ></iframe>
<a href="javascript:impression()">Imprimer</a>

</body>
</html>

Commentaire de phpajax le 26/11/2007 15:16:00

c'est normal que ca marche pas, tu peut pas imprimer quelque chose de non visible. essaye de mettre width et height à 0

<head>
<link rel="alternate" media="print" href="print.htm">
</head>

<script>

<!--  
function impression() {
document.getElementById('frame1').print();
}
</script>

<body>

<iframe id='frame1' height="0px" src="print.htm"  width='0px'></iframe>
<a href="javascript:impression()">Imprimer</a>

</body>
</html>

Commentaire de leojou le 26/11/2007 15:46:52

en fait, le lien imprimer est innactif maintenant...

Commentaire de phpajax le 26/11/2007 15:48:53

essaye cette fonction et dis moi ce que tu en penses
<script language=javascript>

function imprime()
   {
      // Définit la zone à imprimer
      var zi = window.frames[0].innerHTML;
       zi =zi+"<h1 style=\"page-break-after:always\">";
       zi =zi+" "+ window.frames[1].innerHTML.innerHTML;


      var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD></HEAD><BODY onload="window.print();window.close()">';
      zi = zi+"<hr></body></html>";
      // Ouvre une nouvelle fenetre
      var f = window.open("", "ZoneImpr", "height=200, width="+screen.width+",toolbar=0, menubar=0, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");

      // Définit le Style de la page
      f.document.body.style.color = '#000000';
      f.document.body.style.backgroundColor = '#FFFFFF';
      f.document.body.style.padding = "10px";

      // Ajoute les Données

      f.document.write ("" + Headers + zi );
      f.document.close();
      // Imprime et ferme la fenetre


      return;
   }
</script>

Commentaire de leojou le 26/11/2007 16:29:24

c'est une alternative intéressantei, mais nombreux navigateurs sont configurés pour bloquer les popups, donc ça ne peut pas fonctionner pour tout le monde...

visiblement le problème du script qui figure en haut de page est qu'il n'est pas compatible avec tous les navigateurs. J'ai pu apercevoir sur le net qu'il y a possibilité de coder de manière à ce que le script détecte quel navigateur est utilisé.

Ce qui serait utile, c'est que lorsque safari est détecté, la commande "style="visibility: hidden" ne soit pas prise en compte

c'est du chinois pour moi toute cette prog, ci-dessous j'ai trouvé un script sur le web, mais je ne sais pas où placer le lien html pour activer ce javascript... help !


Commentaire de leojou le 26/11/2007 16:30:17

<script type="text/javascript">
if(navigator.appName=='Microsoft Internet Explorer')
{
document.write('<a href="javascript:parent.imprim.focus();
window.print()">Imprimer</a>');
document.write('<iframe src="print.htm" style="width: 0;
height: 0" id="imprim" name="imprim"></iframe>');
}
else if(navigator.appName=='Netscape')
{
document.write('<a
href="javascript:parent.imprim.print();">Imprimer</a>');
document.write('<iframe src="print.htm" style="width: 0;
height: 0; visibility: hidden" id="imprim"
name="imprim"></iframe>');
}
else
{
document.write('');
    }
</SCRIPT>

Commentaire de bibo06 le 03/06/2008 13:10:24

Bonjour je fais un up sur ce sujet car il m'est interressant.
J'ai beau essayer il m'affiche toujours la page ou se situe le lien et je ne vois pas ou est le problème.
dans mes balise head j'ai :
<head>
<link rel="alternate" media="print" href="impression.php?id=<?php echo $id; ?>">
</head>

pour le javascript:
function impression() {
    window.frames[0].print();
  }

et au niveau du lien:
<iframe height="0px" src="impression.php?id=<?php echo $id; ?>" style="visibility: hidden"></iframe>
<td height="19" colspan="3" align="right"><a href="javascript:impression()" title="Imprimer cette fiche"><img src="images/imprimer.gif" alt="Imprimer cette fiche" style="width:23px; height:22px; border:0; margin-right:20px;" /></a></td>

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Erreur Javascript lors de l'impression [ par darb66 ] Bonjour,J'ai une erreur javascript qui apparait lorsque j'essaie d'imprimer une page depuis IExplorer (en utilisant les functionalites du navigateur f imprimer une page avec javascript [ par ryminfo ] je veux imprimer une formulaire en utilisant le fonction window.print() sans entête comprenant le nom de mon fichier html à gauche et le numéro de pag page dynamique - javascript et servlet [ par sipatsymasaka ] Bonjour, J'ai vraiment besoin de vos réponses. Je crée un div dynamiquement en javascript: genre [code=js]newdiv.innerHtml[/code] et je n'arrive a r Pb Javascript.history.back() [ par nero57 ] Bonjour, Je ne sais pas si je me trouve dans le bon forum, désolé si je me suis trompé de section :s J'ai actuellement un petit soucis que je vais t Envoyer variable Javascript vers une autre page (par URL) [ par midoxe ] Bonjour, je travail sur une application web, et je me bloque sur ce problème : le clique sur un lien provoque l'ouverture d'une fenetre javascript q page web HTML+JavaScript [ par zakariah ] bonjour C'est mon premier post sur ce forum Il s'agit de réalisé pour présenter de la ville d'Errachidia située au sud du Maroc S'il vous plaît aider [HTML + JavaScript] [ par HACKANDROID ] [del]Bonjours, [/del] J\'ai question comment faire pour qu\'il y est un [b]redirection[/b] [b]automatique[/b] si quelqu\'un [b]se connecte[/b] sur un one page javascript application ? [ par alxidali ] Bonjour a tous . j'ai une petite question j&#8217;espère que quelqu'un pourra m'aider ! 1 - comment faire une très grande application JavaScript (pro Javascript, ça à l'air pas mal pourtant [ par RV2931 ] Bonjour,je me suis mis au php il y a quelques mois, et je me trouve régulièrement confronté à ce que j'appellerais mon "problème javascript".pourtant, page d'avertissement (disclaimer) javascript [ par badziz ] Bonjour,je désire réaliser une page d'avertissement disclaimer en javascript (ou autre s'il y a mieux) à l'entrée d'un site. Ce message ne doit s'affi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales