Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 14h15   #1
Nouveau Membre du Club
 
Avatar de ralf91
 
Inscription : avril 2007
Messages : 390
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 390
Points : 26
Points : 26
Par défaut incompatibilité de script avec IE

Salut,

j'ai un problème avec Internet explorer (en fait dès le début il n’arrête pas de me poser des problèmes !!!)

j'ai créé un bouton imprimer qui permet d'imprimer une page grâce à window.print(); ça fonctionne très bien avec Chrome mais pas dutout avec Internet explorer, genre le bouton ne fait rien lorsqu'on clique dessus.

Sous firefox aussi j'ai eu un problème, j'utilisé le CSS pour cacher ce que je ne veux qu'il apparaisse et j'utilisé page-break-after pour sauter les page et là aussi ça ne fonctionne pas ??

qu'est ce que je dois faire ?
ralf91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 14h31   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
window.print() fonctionne bien sous IE ...

Montre nous plutôt un bout de code incriminé
__________________
Ma page 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.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 15h16   #3
Nouveau Membre du Club
 
Avatar de ralf91
 
Inscription : avril 2007
Messages : 390
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 390
Points : 26
Points : 26
oui effictivement, je viens de me rendre compte que ça fonctionne sous IE le soucis est du à mes frames:

ma page d'acceuil est compsée de deux frame donc j'ai :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
     <frameset id="fsTopPage" frameSpacing="0" frameBorder="no" Rows="50%,50%">
       <frame id="ftop" name="frameTopPage" noResize src="" scrolling="no" frameBorder="no"></frame>
       <frame id="fbottom" name="framebottomPage" noResize src="Default.aspx" scrolling="no" frameBorder="no"></frame>
    </frameset>
 
</html>
en suite dans la page defaut c'est là où j'ai mon bouton print !


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<head runat="server">
    <title></title>
    <link href="css/print.css" rel="stylesheet" type="text/css" media="print" />
</head>
<body>
    <form id="form1" runat="server">
    <div>
 
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
 
    </div>
    </form>
</body>
</html>
et dans mon code behind asp :
Code :
1
2
3
4
5
 
protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("<script language=\"javascript\"> window.print(); </script> ");
    }
c'est un exemple de teste.

voila donc je ne sais pas pourquoi ça ne fonctionne pas sous IE mais sous Chrome ou Firefox ça fonctionne !!!
ralf91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 15h48   #4
Nouveau Membre du Club
 
Avatar de ralf91
 
Inscription : avril 2007
Messages : 390
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 390
Points : 26
Points : 26
j'ai trouvé une autre façon de faire en utilisant :

Code :
document.execCommand('print', false, null);
mais là le doc imprimé est vide :s
ralf91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h51   #5
Nouveau Membre du Club
 
Avatar de ralf91
 
Inscription : avril 2007
Messages : 390
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 390
Points : 26
Points : 26
je me rapproche de la solution mais ça commence vraiment à me taper sur les nerfs, je vous explique

j'ai une page index.aspx elle contient 3 frames

Code :
1
2
3
4
5
6
7
8
 
<frameset id="fsTopPage" frameSpacing="0" frameBorder="no" Rows="1%,98%">
            <frame id="ftop" name="frameTopPage" noResize src="topPage.aspx" scrolling="no" frameBorder="no"></frame>
		    <frameset id="fsMain" frameSpacing="0" frameBorder="no" cols="145,*">
			    <frame id="frameMenu" name="frameMenu" noResize src="menu.aspx" frameBorder="no" scrolling="no"></frame>
		        <frame id="frameContent" style="border:solid 1px orange;" name="frameContent" noResize src="<% Response.Write(StartPage); %>" frameBorder="no"></frame>
		    </frameset>
        </frameset>
la derniere frame "ID=frameContent" pour accueillir les differentes pages du site, l'une des pages du site premet d'imprimer le contenu de la frame (page en cours) donc j'ai eu des probleme avec IE comme je l'avais mentionné auparavant, j'ai essayé pas mal de truc mais ça n'a rien donné.
maintenant j'ai trouvé autre chose en mettant :

Code :
1
2
3
4
5
6
 
 Response.Write("<script language=\"javascript\"> if (navigator.appName == \"Microsoft Internet Explorer\")" +
        "{ parent.frames(2).focus();" +
          "parent.frames(2).print(); " +
        " } else { window.print(); }"
        +"</script> ");
et la aussi je ne comprends rien car ça fonctionne pour les deux premières frame (0 et 1) mais pas la 3eme donc la frame 2 !!!!!!!!!!!!!! pourquoi ??
ralf91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h49.


 
 
 
 
Partenaires

Hébergement Web