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 :

Attendre la fin de window.print()


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut Attendre la fin de window.print()
    Bonjour,

    Je veux imprimer un document (grâce à window.print()).
    Mais mon document est sur fond jaune donc en appelant ma fonction imprimer je change la couleur de fond de mon doc pour la mettre en blanc et ainsi avoir une page imprimée sur fond blanc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementsByTagName('body')[0].style.backgroundColor='#FFFFFF';
    window.print();
    Mais voila mon probleme j'aimerai remettre la couleur d'origine apres impression.
    Si je mets un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('body')[0].style.backgroundColor='#LACOULEUR'
    alors cela n'attend pas et remet directement la couleur d'origine.

    La seule solution que j'ai trouvée pour l'instant est d'utiliser un setTimeout(). Mais cette solution ne me convient pas.
    Quelqu'un a t'il une idée ? Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    La couleur de fond est-elle vraiment imprimée ? Sous IE non en tout cas.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut
    Oui elle est imprimée (je viens de tester sous IE...)

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Ah, ben c'est nouveau alors (n'aurais-je rien imprimé à partir d'IE8 ?).

    Avec IE tu peux faire quelque chose dans ce style :

    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
     
    <script type="text/javascript">
     
    function removebackground(){
    //Make the document background white
    document.style.backgroundColor="white"
    //Set the document's background image to null
    document.body.style.backgroundImage="none"
    }
     
    function revertback(){
    //Reload the window
    setTimeout("window.location.reload()",50)
    }
     
    window.onbeforeprint=removebackground
    window.onafterprint=revertback
     
    </script>
    reférence

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Par défaut
    Merci de ta réponse qui m'a l'air correcte.

    Je testerai ca des que possible et je viendrais mettre en résolu (ou pas )

  6. #6
    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
    Billets dans le blog
    20
    Par défaut
    Heu...
    Pourquoi ne pas ajouter simplement une feuille de style pour l'impression au lieu de se compliquer la vie ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" media="print" href="imprime.css" />
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. Attendre la fin d'un processus
    Par biaggi dans le forum ASP
    Réponses: 3
    Dernier message: 27/07/2004, 08h39
  2. [Processus][pause] attendre la fin ?
    Par MrDuChnok dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 19/07/2004, 13h51
  3. attendre la fin d'un processus
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 27/02/2004, 15h37
  4. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12
  5. Comment Attendre la fin d'un Processus
    Par mr_titi dans le forum C++Builder
    Réponses: 3
    Dernier message: 05/06/2003, 16h35

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