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 :

Transparence PNG sous ie6 utilisant "pngfix.js"


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut Transparence PNG sous ie6 utilisant "pngfix.js"
    Voila apparament le script de compatibilité de la transparance des png pour IE que j'utilise ne marche pas pour ma page web, alors que j'avais déjà réussi à l'utiliser pour d'autre site...
    Le code est le même la fonction d'appel la meme mais cela ne fonctionne pas..

    Le script n'a aucunement été modifié

    dans le <head> de la page

    <!--[if lt IE 7.]>
    <script defer type="text/javascript" src="pngfix.js"></script>
    <![endif]-->

    dans pngfix.js (dans le meme repertoire bien sur)
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    /*
     
    Correctly handle PNG transparency in Win IE 5.5 & 6.
    http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
     
    Use in <HEAD> with DEFER keyword wrapped in conditional comments:
    <!--[if lt IE 7]>
    <script defer type="text/javascript" src="pngfix.js"></script>
    <![endif]-->
     
    */
     
    var arVersion = navigator.appVersion.split("MSIE")
    var version = parseFloat(arVersion[1])
     
    if ((version >= 5.5) && (document.body.filters))
    {
       for(var i=0; i<document.images.length; i++)
       {
          var img = document.images[i]
          var imgName = img.src.toUpperCase()
          if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
          {
             var imgID = (img.id) ? "id='" + img.id + "' " : ""
             var imgClass = (img.className) ? "class='" + img.className + "' " : ""
             var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
             var imgStyle = "display:inline-block;" + img.style.cssText
             if (img.align == "left") imgStyle = "float:left;" + imgStyle
             if (img.align == "right") imgStyle = "float:right;" + imgStyle
             if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
             var strNewHTML = "<span " + imgID + imgClass + imgTitle
             + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
             + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
             + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
             img.outerHTML = strNewHTML
             i = i-1
          }
       }
    }
    Une idée?

  2. #2
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Bonjour,

    As-tu testé que ton commentaire conditionnel était bien pris en compte ? Par exemple en ajoutant une modification css bien visible.

    As-tu testé si ton javascript était bien lu? Par exemple en ajoutant un window.alert tout en haut du script.

    Supprimer le . change-t-il quelque chose (je pose la question parce que je ne peut pas tester actuellement) ?
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Oui j'ai testé d'enlever le . dans <!--[if lt IE 7.]>

    J'ai juste copier collé le script de cette page et il fonctionne bien chez eux et il déjà fonctionné aussi sur un autre site que j'ai fait

    http://homepage.ntlworld.com/bobosola/pnghowto.htm

  4. #4
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Tu visualises le résultat sur une version officielle d'IE6 ou sur une standelone quelconque?

    Et si testes ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <!--[if lt IE 7]>
    <style type="text/css">
      body {border:10px solid red;}
    </style>
    <![endif]-->
    Tu vois la bordure s'afficher ou pas?

    Tu as installé la béta d'IE8 ou pas?
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut test
    J'ai en effet essayé ton bout de code la bordure apparait,
    Autre chose j'ai d'abord utilisé une standalone d'ie6 puis j'ai désinstallé IE7 et installé IE6 aucun résultats !

    Je désespère .. !

  6. #6
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Perso j'ai multiple IE (pour IE6) et depuis que j'ai installé la béta de IE8, je ne peux plus détecter via les commentaires conditionnels la version d'IE. Mais même en essayant avec un if ie tout simple ton code ne tournait pas non plus chez moi.

    Après avoir constaté que document.images.length valait toujours 0, j'ai cherché pourquoi (Je me suis égarée sur ce forum je ne maîtrise pas javascript plus que ça; c'est l'aspect commentaire conditionnel qui m'a attirée ). En fait le truc c'est que javascript ne peut pas accéder à des éléments avant que le doc soit "construit".

    Donc, en retardant l'application à après le chargement de la page, ça fonctionne chez moi. J'ai rajouté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    window.onload=function(){
     
     
    }
    autour de ton code.

    Autrement tu peux aussi coller ton commentaire conditionnel tout au bas de la page ça devrait faire le même effet.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut Merci!
    Merci beaucoup tout est finalement réglé!

    Si vous avez une idée sur mon problème d'execution d'un effet de menu javascript sous firefox (qui rame) voici l'url :

    http://www.developpez.net/forums/sho...10#post3273510

    Un casse tête pour moi !

    Merci encore et bonsoir.

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

Discussions similaires

  1. Transparence PNG sous IE6
    Par molesqualeux dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 13/10/2009, 12h21
  2. Transparence des PNG sous IE6 (background repeat etc.)
    Par Fredovsky dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 05/01/2009, 15h40
  3. problème affichage png sous ie6
    Par Thomas_Dele dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 05/08/2008, 08h41
  4. Transparence des PNG sous IE6 et texte qui dépasse du conteneur
    Par shubakas dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 20/05/2008, 15h35

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