IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

imprimer une partie de page


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut imprimer une partie de page
    Bonjour,

    je souhaite donner la possibilité d'imprimer une partie de la page ; aussi ai-je fait ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
      <style type="text/css">      
     
    @media print     
    {         
    #non-printable { display: none; }         
    #printable { display: block; }     
    }     
      </style>
    <img
     src="---.jpg" id="non-printable">&nbsp;
                                              <br/>
     
    <div id="printable">
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
       </div>
     
    <a href="print.html" target="_blank">Imprimer cette page</a>
    C'est évidemment juste un test et je m'atttends à ce que ça imprime les "coucou", mais non, y a rien ; quelle est la raison ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben faut dire que ce serait bien d'ajouter certaines balises... comme <html>, <head>, <body>...
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style type="text/css" media="print">
    ...
    </style>
    est quand même plus recommandé.

    EDIT : mais au fait... elle est supposée s'imprimer comment ta page ??? Par la force de ton esprit ?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    mais au fait... elle est supposée s'imprimer comment ta page ??? Par la force de ton esprit ?
    Oui, bien sûr
    j'avais oublié de donner print.html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>print</title>
    </head>
    <body>
    <br>
    <script language="Javascript">window.print();</script>
    </body>
    </html>
    Ben faut dire que ce serait bien d'ajouter certaines balises... comme <html>, <head>, <body>...
    Elle y sont déjà ; le CSS est dans le head et le reste dans le body.

    J'ai tenu compte de ça
    media="print"
    mais ça n'imprime toujours pas...

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>print</title>
    </head>
    <body>
    <br>
    <script language="Javascript">window.print();</script>
    </body>
    </html>
    Et donc, tu t'étonnes que rien ne soit imprimé
    En JavaScript, l'objet window correspond à la page en cours et la méthode print() demande de l'imprimer. Donc print() sur une page vide, je vois pas trop ce que tu espères que ça imprime

    Alors revenons à ta page précédente. Pourquoi tu fais un lien avec target _blank alors que c'est cette page que tu veux imprimer ???
    Ne le prends pas mal, mais ça revient au même que dire à quelqu'un "vas voir là-bas si j'y suis" et que la personne s'étonne que tu n'y sois pas !

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
      <style type="text/css">      
     
    @media print     
    {         
    #non-printable { display: none; }         
    #printable { display: block; }     
    }     
      </style>
    <img
     src="---.jpg" id="non-printable">&nbsp;
                                              <br/>
     
    <div id="printable">
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
    coucou<br/>
       </div>
     
    <a href="#" onclick="window.print(); return false;">Imprimer cette page</a>

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Ne le prends pas mal
    Non, je me suis marré...
    Mais ta solution, si elle marche, pose un problème : je n'ai accès qu'à une partie du code, sachant que j'utilise un outil générateur de site web (qui pond lui-même le code) et que notamment le menu et le bandeau, je ne peux y toucher. Donc avec ta solution, je les imprime (en fait, j'imprime tout sauf, ce qui non-printable, mais ce n'est pas le cas du menu et du bandeau vu que je n'y accède pas). Existe-t-il un moyen de s'en sortir ?

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Le menu et le bandeau, si on pouvait les mettre dans des div, ceux-ci ayant une classe du type { display: none; }, ça serait bien, mais vu que le bandeau et le menu n'ont ni classe, ni identifiant, et que je ne peux y toucher, y a-t-il moyen de s'en sortir ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    suffit de pointer dessus avec getElementsByTagName avec le bon index ...

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Mais le "bon index", c'est quoi ? Ca ne me dit rien...

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    getElementsByTagName retourne une collection d'objets =>
    quel est le numéro ordinal de ta balise dans cette collection ?

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse, mais en fait, c'était une question que je m'étais posée suite à un problème exposé sur un forum (un autre !), et je ne retrouve même plus la question, alors le site...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Imprime une partie d'une page
    Par hassine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/03/2009, 16h54
  2. Imprimer une partie de la page web
    Par touf35 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/06/2008, 21h10
  3. comment faire pour imprimer une partie de ma page
    Par hbar01 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/04/2008, 02h31
  4. Code HTML qui imprime une partie d'une page
    Par derval2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/01/2007, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo