Sondage :

Publicité




Partenaires




Jmax-Hardware

mxdev.net

feedburner
donate.gif


580 visiteur(s) en ligne
Forums d'entraide informatique - Les forums de PCW
[javascript] Transparence des PNG sur IE - Version imprimable

+- Forums d'entraide informatique - Les forums de PCW (http://forum.pcinfo-web.com)
+-- Forum : Forum Informatique (/forumdisplay.php?fid=39)
+--- Forum : Internet - Navigation -Programmation - Scripts - Developpement (/forumdisplay.php?fid=8)
+--- Discussion : [javascript] Transparence des PNG sur IE (/showthread.php?tid=2535)



[javascript] Transparence des PNG sur IE - sheitan - 26-07-2008 18:52 PM

Bonsoir,

j'ai un petit script JS pour la transparences des png sous IE,
Il n'utilise aucune image ce que je trouve plutôt pas mal, il se charge asser rapidement ce qui est un bon point aussi..
par contre il ne fonctionne que pour la balise img, ce qui fait que toutes les images qui sont mis en css avec la commande 'background' ne sont pas pris en compte, c'est là qu'est l'os Sad

peut on corriger ce problème sans trop augmenter le volume du script?
est ce que c'est possible sans utiliser d'image et est-ce la meilleur méthode?

Merci d'avance Smile



<script language="JavaScript" type="text/JavaScript">
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
{
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
}
}
}
window.attachEvent("onload", correctPNG);
</script>[/i]




- TotofTeam - 30-07-2008 08:15 AM




[javascript] Transparence des PNG sur IE - Troll - 30-07-2008 11:26 AM

Salut vous deux,

Ton script JavaScript ne fait rien d'autre que ajouter une propriété CSS aux images en PNG...

Donc en prenant cette propriété CSS et en la mettant dans ta feuille de style pour les éléments qui ont un background-image en PNG ça devrait fonctionner Wink

C'est pas automatique mais de toute façon des éléments avec un background-image en PNG, sont en généralement pas générés par l'utilisateur (comme ca pourrait être le cas pour une image sur un forum).

Note : la propriété CSS à utiliser - "filter:" - n'est pas valide à ma connaissance, inclus-la donc dans uen feuille CSS spéciale pour IE que tu incluera dans ta page avec des commentaires conditionnels HTML Wink