# Png trasparenti con explorer

**URL:** <https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464>\
**Category:** IT\
**Created:** [December 5, 2006, 11:45pm UTC](https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464 "2006-12-05T23:45:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [December 5, 2006, 11:45pm UTC](https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464/1 "2006-12-05T23:45:04Z")

</div>

Ciao,

ho provato a implementare uno script(trovato in giro) per usare le png  
trasparenti con explorer, il fatto è che lo script è molto lento e mi  
chiedevo se non ci fosse un metodo migliore, magari in rails, cmq se  
interessa questo è il codice

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’);”\>"

img.outerHTML = strNewHTML  
i = i-1  
}}}

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [December 5, 2006, 11:57pm UTC](https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464/2 "2006-12-05T23:57:05Z")

</div>

Anch’io ho usato questo script… il problema è che a me non funziona,  
perchè dopo il .png ho i famosi ?numeri che inserisce in automatico  
l’helper  
image\_tag! Ho pensato fosse perchè sto lavorando in modalità deployment…  
ma ho messo una versione demo del mio sito on line (in versione  
production)  
e i ?numeri dopo il .png me li mette comunque… ☹

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [December 6, 2006, 12:35am UTC](https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464/3 "2006-12-06T00:35:11Z")

</div>

a me funziona solo che ci mette tipo 1 secondo a manipolare l’ immagine  
e l’  
effetto che si vede fa schifo, praticamente vedi lo sfondo e poi  
sparisce,  
orribile.

----- Original Message -----  
From: “Piera Vitella” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: “ruby-it” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Tuesday, December 05, 2006 11:56 PM  
Subject: Re: [ruby-it] png trasparenti con explorer

Anch’io ho usato questo script… il problema è che a me non funziona,  
perchè dopo il .png ho i famosi ?numeri che inserisce in automatico  
l’helper  
image\_tag! Ho pensato fosse perchè sto lavorando in modalità deployment…  
ma ho messo una versione demo del mio sito on line (in versione  
production)  
e i ?numeri dopo il .png me li mette comunque… ☹

On 12/5/06, stb [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> var version = parseFloat(arVersion[1])  
> var img = document.images[i]
> 
> i = i-1  
> }}}
> 
> * * *
> 
> Ml mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

* * *

Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [December 6, 2006, 8:58am UTC](https://www.ruby-forum.com/t/png-trasparenti-con-explorer/78464/4 "2006-12-06T08:58:35Z")

</div>

Ma sei riuscito a capire se il problema nasce dallo script che  
rimastica il DOM e applica il filter oppure se è proprio il filtro a  
essere lento di suo? Cioè, se fai una pagina con dei png trasparenti e  
applichi lo stile con il filtro a mano, è più lesto?  
Se le immagini della tua pagina sono tante, il loop lì potrebbe essere  
un po’ costoso (ma non dovrebbe; mica ha migliaia di immagini?).  
stb wrote:

```
 a me funziona solo che ci mette tipo 1 secondo a manipolare l'
 immagine e l' effetto che si vede fa schifo, praticamente vedi lo
 sfondo e poi sparisce, orribile.
 ----- Original Message ----- From: "Piera Vitella"
 [1]<removed_email_address@domain.invalid>
 To: "ruby-it" [2]<removed_email_address@domain.invalid>
 Sent: Tuesday, December 05, 2006 11:56 PM
 Subject: Re: [ruby-it] png trasparenti con explorer
 Anch'io ho usato questo script... il problema è che a me non
 funziona,
 perchè dopo il .png ho i famosi ?numeri che inserisce in automatico
 l'helper
 image_tag! Ho pensato fosse perchè sto lavorando in modalità 
 deployment...
 ma ho messo una versione demo del mio sito on line (in versione
 production)
 e i ?numeri dopo il .png me li mette comunque... :-(
 On 12/5/06, stb [3]<removed_email_address@domain.invalid> wrote:

 Ciao,
 ho provato a implementare uno script(trovato in giro) per usare le
 png
 trasparenti con explorer, il fatto è che lo script è molto lento e
 mi
 chiedevo se non ci fosse un metodo migliore, magari in rails, cmq
 se
 interessa questo è il codice
 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
 }}}
 _______________________________________________
 Ml mailing list
 [4]removed_email_address@domain.invalid
 [5]http://lists.ruby-it.org/mailman/listinfo/ml

 _______________________________________________
 Ml mailing list
 [6]removed_email_address@domain.invalid
 [7]http://lists.ruby-it.org/mailman/listinfo/ml
 _______________________________________________
 Ml mailing list
 [8]removed_email_address@domain.invalid
 [9]http://lists.ruby-it.org/mailman/listinfo/ml

```

–  
“Remember, always be yourself. Unless you suck.” - Joss Whedon

References

1. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
2. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
3. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
4. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
5. [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)
6. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
7. [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)
8. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
9. [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)
