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 :

Script popup qui ne marche pas sous IE


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut Script popup qui ne marche pas sous IE
    Salut à tous,


    Pour imprimer uniquement une partie de ma page, j'ai créer un petit script javascript (je suis nul dans ce language)

    le voià :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function popup_imprimer () {
    var content=document.getElementById('print').parentNode.innerHTML;
    var page = null;
    var Left=window.screen.width/2-200;
    var Top=window.screen.height/2-200; 
    var config ="'menubar=yes, resizeable=yes, width=700, height=500, left=" + Left + ", top=" + Top; 
    page = window.open ('components/com_worldrealbook/includes/print.html',"page", config);
    page.document.write("<html><head><link href='components/com_worldrealbook/worldrealbook.css' rel='stylesheet' type='text/css'>");
    page.document.write('<script type="text/javascript" src="/WorldRealBook/components/com_worldrealbook/includes/print_2.js"></script>');
    page.document.write("</head><body bgcolor='#ffffff' onload=\"bouton_print_visible()\">"+content+"</body></html>");
    page.document.close();
    page.focus();
    }
    Il marche bien sous firefox et chrome, mais ne marche pas sous IE... ça fait une espèce de boucle, la page ne finie jamais de se charger.

    quelqu'un sais pourquoi?

    Merci d'avance
    DaD

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pourquoi ne pas avoir fait un css print , qui t'aurais permis de masquer les éléments non désirés ?
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    trop compliqué. je developpe un composant joomla, il aurait fallu masquer la quasi totalité du template...

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    que contient : print_2.js

    et comment est appelée ta méthode ?
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    print_2.js est le même script.

    la methode est appelée par un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:popup_imprimer ()"><img src="components/com_worldrealbook/images/icon-print.png"/></a>

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Citation Envoyé par DaD92 Voir le message
    print_2.js est le même script.

    la methode est appelée par un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:popup_imprimer ()"><img src="components/com_worldrealbook/images/icon-print.png"/></a>

    c'est a dire ???

    et la page print.html ? quel est son contenu ?

    es tu sur de ne pas avoir une boucle qui réappel popup_imprimer () ? met un alert a l'intérieur ... )
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    j'ai regarde et fait quelques test, rien ne tourne en boucle.

    Le plus bizarre c'est que desfois ça marche et d'autres non.
    Je clique sur imprimer, le popup s'ouvre impec, je ferme le popup, rafraichi la page et quand je re clique sur imprimer, ça tourne en rond..... desfois c'est dès la première fois.... sans logique

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    apparement c'est la fonction document.write que ie n'aime.

    alors, j'essaye une autre methode, mais je galerre un peu.

    quand on clique sur imprimer, ça ouvre ma page print.html

    eller contient un code très simple avec une div destinée a récupéré du code html et a l'aaficher :
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href='components/com_worldrealbook/worldrealbook.css' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" type="text/css" media="print" href="components/com_worldrealbook/print.css" />
    <script type="text/javascript" src="components/com_worldrealbook/includes/print.js"></script>
    <title>Impression</title>
    </head>
     
    <body>
    <div id="content">
     
    </div>
    </body>
    </html>
    la div est donc content.


    dans le script qui ouvre le popup, je récupère le code de la page qui a ouvert le popup et je voudrais donc le renvoyer a content avec un innerHTLM :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function popup_imprimer() {
    var contenu=document.getElementById('print').parentNode.innerHTML;
    var page = null;
    var Left=window.screen.width/2-200;
    var Top=window.screen.height/2-200; 
    var config ="menubar=yes, directories=yes, scrollbars=yes, resizable=yes, width=700, height=500, left=" + Left + ", top=" + Top; 
    page = window.open ('components/com_worldrealbook/includes/print.html','Impression', config);
    page.document.getElementById(content).innerHTML = contenu;
     
    page.document.close();
    page.focus();
    }
    tout marche sauf que j'ai du mal formuler qq chose, car il ne trouve pas la div content de print.html

    est ce que vous savez où je me suis planté?

Discussions similaires

  1. Script tout simple qui ne marche pas sous IE
    Par Bleuarff dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2007, 18h48
  2. Applet java qui ne marche pas sous opéra, pourquoi ?
    Par WeDgEMasTeR dans le forum Applets
    Réponses: 2
    Dernier message: 17/05/2006, 00h23
  3. Page de login -- script PHP qui ne marche pas
    Par Alexlesilex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/04/2006, 16h32
  4. HTTP_REFERER qui ne marche pas sous IE
    Par manaboko dans le forum Langage
    Réponses: 6
    Dernier message: 15/11/2005, 14h23
  5. javascript:history.go qui ne marche pas sous IE
    Par fpouget dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 23/09/2005, 08h23

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