1. #1
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut window.open avec firefox

    Bonjour,
    Le code ci-après fonctionne très bien sous google chrome Version 57.
    Toutefois sous Firefox (version52) l'ouverture du "popup" empêche le window.print de s'exécuter et je ne comprends pas pourquoi ?
    Est ce que quelqu'un pourrait me sortir de ce mauvais pas ?
    D'avance merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function f_imprimer_bloc() {
    var vHtml = '<!DOCTYPE html>';
    vHtml +='<html><head><title></title><link rel="stylesheet" type="text/css" href="./css/styleimpression.css" ></head><body>';
    vHtml += '<table class="tbu1"><tr><td>coucou</td></tr></table>';
    vHtml +='</body></html>';
    vfen = window.open("", "", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");
    vfen.document.write(vHtml);
    setTimeout(function(){vfen.window.print()},500);
    setTimeout(function(){vfen.window.close()},3000);
    return true;
    }

  2. #2
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    le window open envoie le focus sur la page qui s'ouvre...
    le code de print doit être intégré dans la page du popup ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut

    J'ai intégré le code dans le popup mais le pb est le même.
    Le problème semble venir du setTimout . Dans firefox le setTimeout bloque l'exécution du reste du code.

    Dans firefox le popup s'ouvre bien mais empêche la boite de dialogue d'impression de s'afficher. Quand je ferme le popup la boite d'impression apparait ??
    Quand je supprime le setTimeout le window.print se lance mais l'impression est vide car la boite de dialogue d'impression s'affiche avant le popup .
    En fait le setTimeout est là pour laisser le temps au popup de charger son contenu .
    Espérant de n'avoir pas été trop confus

  4. #4
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    On peut voir comment tu as
    intégré le code dans le popup
    ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut

    Voici comment j'ai fait . ça fonctionne avec Chrome mais dans firefox le popup reste à l'ecran et empêche l'apparition de la boite de dialogue d'impression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function f_imprimer_bloc() {
    var vHtml = '<!DOCTYPE html>';
    vHtml +='<html><head><title></title><link rel="stylesheet" type="text/css" href="./css/styleimpression.css" ></head><body>';
    vHtml += '<table class="tbu1"><tr><td>coucou</td></tr></table>';
    vHtml +='<script type="text/javascript">setTimeout(function(){window.print()},500);</script></body></html>';
    vfen = window.open("", "", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");
    vfen.document.write(vHtml);
    SetTimeout(function(){vfen.window.close()},3000);
    return true;
    }
    merci de votre aide

  6. #6
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    essaye comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function f_imprimer_bloc() {
    var vHtml = '<!DOCTYPE html>';
    vHtml +='<html><head><title></title><link rel="stylesheet" type="text/css" href="./css/styleimpression.css" ></head><body>';
    vHtml += '<table class="tbu1"><tr><td>coucou</td></tr></table>';
    vHtml +='<scr'+'ipt type="text/javascript">setTimeout(function(){window.print()},500);</script></body></html>';
    vfen = window.open("", "", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");
    vfen.document.write(vHtml);
    SetTimeout(function(){vfen.window.close()},3000);
    return true;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut

    Je viens d'essayer et pas mieux.
    En même temps je ne suis pas trop étonné
    car entre
    vHtml +='<script type="text/javascript">setTimeout(function(){window.print()},500);</script></body></html>';
    et
    vHtml +='<scr'+'ipt type="text/javascript">setTimeout(function(){window.print()},500);</script></body></html>';
    y a pas trop de différence .

  8. #8
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    quand tu visualises le code source de la popup tu vois le script ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut

    1) Quand je choisis le menu code source de la page il y a le code html qui s'affiche.
    Quand je copie ce même code pour faire un test dans un fichier html , la page s'exécute normalement et la boite de dialogue d'impression s'affiche.

    2) Quand le popup est ouvert et que je fais examiner l'élément , il n' y a aucune information qui apparaît dans "l'inspecteur de style et du dom"

  10. #10
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    pareil pour la fermeture... il faut que ce soit le popup qui appelle une fonction de fermeture de la fenêtre ouvrante.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  11. #11
    Membre expérimenté
    Profil pro
    Développeur
    Inscrit en
    mars 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 999
    Points : 1 522
    Points
    1 522

    Par défaut

    Tu ne peux avoir 2 modales box en même temps à l'écran
    Si la réponse vous a aidé, pensez à cliquer sur +1

  12. #12
    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
    37 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 150
    Points : 63 202
    Points
    63 202
    Billets dans le blog
    1

    Par défaut

    modales ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  13. #13
    Membre régulier
    Femme Profil pro
    Autre
    Inscrit en
    janvier 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : janvier 2017
    Messages : 44
    Points : 73
    Points
    73

    Par défaut

    Bonjour,
    Reprenez le code de départ et, après "vfen.document.write(vHtml);", ajoutez ceci :

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 171
    Points : 162
    Points
    162

    Par défaut

    je pense que le problème est insoluble.
    En fait quand je met le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script type="text/javascript">window.print();window.close();</script>;
    dans le popup , cela fonctionne sous Chrome et FF . Toutefois FF affiche le popup avec le bon style mais l'impression est différente du popup affiché ??
    pour etre plus clair voici l'image représentant le popup mise en forme :
    Nom : img1.png
Affichages : 13
Taille : 45,2 Ko
    Et cette image qui illustre l'impression envoyée à l'imprimante par FFNom : img2.png
Affichages : 13
Taille : 20,9 Ko
    Cherry's on the cake , si je met un setTimeout sur le window.print Firefox reste figé sur le popup et n'affiche la boite de dialogue d'impression que lorsque l'on ferme le popup manuellement .
    <script type="text/javascript">setTimeout(window.print(),500);window.close();</script>;
    Cherry's on the cherry's on the cake ça fonctionne sous edge et chrome .
    Merci en tout cas à tout ceux qui m'ont aidé .

  15. #15
    Membre régulier
    Femme Profil pro
    Autre
    Inscrit en
    janvier 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : janvier 2017
    Messages : 44
    Points : 73
    Points
    73

    Par défaut

    Bonjour,
    J'ai l'impression que vous n'avez pas testé ce que j'ai dit.
    Je recommence :
    On reprend le code de départ et on ajoute après le "document.write" :
    Si le style ne passe pas à l'impression, c'est certainement parce que cette instruction est absente.
    Avec cette instruction, je pense même qu'il n'y aura plus besoin de "setTimeout".

    Si besoin, je peux faire un exemple complet fonctionnel sous Firefox 52.

Discussions similaires

  1. [debutant] utilisé window.open avec <form>
    Par Bayar dans le forum JavaScript
    Réponses: 4
    Dernier message: 25/08/2006, 14h37
  2. window.open avec deux urls
    Par dehbi dans le forum JavaScript
    Réponses: 9
    Dernier message: 22/06/2006, 11h05
  3. window.open IE/FIREFOX
    Par odelayen dans le forum JavaScript
    Réponses: 4
    Dernier message: 20/02/2006, 15h32
  4. window.open avec parametre
    Par loleske dans le forum JavaScript
    Réponses: 2
    Dernier message: 21/11/2005, 11h22
  5. window.open et Firefox
    Par Pierrick dans le forum JavaScript
    Réponses: 12
    Dernier message: 06/10/2005, 17h53

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