nekosan3
Messages postés10Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention21 juin 2011
-
18 janv. 2006 à 09:41
cs_bibo06
Messages postés116Date d'inscriptionmardi 28 novembre 2006StatutMembreDernière intervention10 mars 2009
-
3 juin 2008 à 13:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_bibo06
Messages postés116Date d'inscriptionmardi 28 novembre 2006StatutMembreDernière intervention10 mars 2009 3 juin 2008 à 13:10
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:
" style="visibility: hidden">
<td height ="19" colspan="3" align="right">[javascript:impression() ]</td>
leojou
Messages postés17Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention26 novembre 2007 26 nov. 2007 à 16:30
leojou
Messages postés17Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention26 novembre 2007 26 nov. 2007 à 16:29
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 !
phpajax
Messages postés27Date d'inscriptionlundi 8 octobre 2007StatutMembreDernière intervention17 octobre 2007 26 nov. 2007 à 15:48
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>';
zi = zi+"<hr></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>
leojou
Messages postés17Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention26 novembre 2007 26 nov. 2007 à 15:46
en fait, le lien imprimer est innactif maintenant...
phpajax
Messages postés27Date d'inscriptionlundi 8 octobre 2007StatutMembreDernière intervention17 octobre 2007 26 nov. 2007 à 15:16
c'est normal que ca marche pas, tu peut pas imprimer quelque chose de non visible. essaye de mettre width et height à 0
<!--
function impression() {
document.getElementById('frame1').print();
}
</script>
[javascript:impression() Imprimer]
</html>
phpajax
Messages postés27Date d'inscriptionlundi 8 octobre 2007StatutMembreDernière intervention17 octobre 2007 26 nov. 2007 à 14:09
il suffit que tu aie la logique objets:
Au lieu de mettre window.frames[0].
Tu ajoute id='frame1' dans ta balise <frame> ou
Tu change : window.frames[0].print(); par document.getElementById('frame1').print();
Ca devrait fonctionner. ;)
leojou
Messages postés17Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention26 novembre 2007 26 nov. 2007 à 14:02
(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 ?
<script>
<!--
function impression() {
window.frames[0].print();
}
</script>
[javascript:impression() Imprimer]
</html>
leojou
Messages postés17Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention26 novembre 2007 26 nov. 2007 à 13:39
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 ?
phpajax
Messages postés27Date d'inscriptionlundi 8 octobre 2007StatutMembreDernière intervention17 octobre 2007 18 nov. 2007 à 11:13
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>';
zi = zi+"<hr></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>
laurent75014
Messages postés12Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention11 février 2009 17 nov. 2007 à 10:58
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.
merkhaled
Messages postés26Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 8 octobre 2007 7 oct. 2007 à 09:44
Pour répondre à GUI2113 :
il suffit de mettre un
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>
</head>
<script language=javascript>
var adresse="ma_page.php";
document.getElementById("entete").innerHTML="<link rel="alternate" media="print" href=""+adresse+"">";
</script>
;)
cedcyr
Messages postés20Date d'inscriptiondimanche 4 juin 2006StatutMembreDernière intervention15 février 2014 10 mai 2007 à 23:49
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
ceci est le plan de cablage pour une prise 7 broches standard norme iso 1724
[javascript:impression() Imprimer]
</html>
merci pour votre aide par avance
cedcyr!
gui2113
Messages postés2Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention18 avril 2007 18 avril 2007 à 16:54
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:
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
michimanon
Messages postés4Date d'inscriptionsamedi 12 mars 2005StatutMembreDernière intervention23 janvier 2006 23 janv. 2006 à 14:15
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
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 janv. 2006 à 11:06
salut
cette source est tirée d'un tutorial, pas besoin d'avoir travaillé pour trouver ça...
ça ne vaut pas du tout initié...
nekosan3
Messages postés10Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention21 juin 2011 18 janv. 2006 à 09:41
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.
3 juin 2008 à 13:10
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:
" style="visibility: hidden">
<td height ="19" colspan="3" align="right">[javascript:impression() ]</td>
26 nov. 2007 à 16:30
if(navigator.appName=='Microsoft Internet Explorer')
{
document.write('[javascript:parent.imprim.focus();
window.print() Imprimer]');
document.write('');
}
else if(navigator.appName=='Netscape')
{
document.write('[javascript:parent.imprim.print(); Imprimer]');
document.write('');
}
else
{
document.write('');
}
</SCRIPT>
26 nov. 2007 à 16:29
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 !
26 nov. 2007 à 15:48
<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>';
zi = zi+"<hr></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>
26 nov. 2007 à 15:46
26 nov. 2007 à 15:16
<head>
<link rel="alternate" media="print" href="print.htm">
</head>
<script>
<!--
function impression() {
document.getElementById('frame1').print();
}
</script>
[javascript:impression() Imprimer]
</html>
26 nov. 2007 à 15:11
<head>
<link rel="alternate" media="print" href="print.htm">
</head>
<script>
<!--
function impression() {
document.getElementById('frame1').print();
}
</script>
[javascript:impression() Imprimer]
</html>
26 nov. 2007 à 14:09
Au lieu de mettre window.frames[0].
Tu ajoute id='frame1' dans ta balise <frame> ou
Tu change : window.frames[0].print(); par document.getElementById('frame1').print();
Ca devrait fonctionner. ;)
26 nov. 2007 à 14:02
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>
[javascript:impression() Imprimer]
</html>
26 nov. 2007 à 13:39
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 ?
18 nov. 2007 à 11:13
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>';
zi = zi+"<hr></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>
17 nov. 2007 à 10:58
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.
7 oct. 2007 à 09:44
il suffit de mettre un
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>
</head>
<script language=javascript>
var adresse="ma_page.php";
document.getElementById("entete").innerHTML="<link rel="alternate" media="print" href=""+adresse+"">";
</script>
;)
10 mai 2007 à 23:49
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>
ceci est le plan de cablage pour une prise 7 broches standard norme iso 1724
[javascript:impression() Imprimer]
</html>
merci pour votre aide par avance
cedcyr!
18 avril 2007 à 16:54
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:
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
23 janv. 2006 à 14:15
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
22 janv. 2006 à 11:06
cette source est tirée d'un tutorial, pas besoin d'avoir travaillé pour trouver ça...
ça ne vaut pas du tout initié...
18 janv. 2006 à 09:41