02 Ottobre 2008 17:29:04 · [Png Fix per IE5.5 e IE6.0]
Postato da
Eccomi con un nuovo trucchetto questa volta per visualizzare correttamente le immagini png con trasparenza: pngfix.jsSalvate lo script da qualche parte sul vostro sito web e poi richiamatelo nelle vostre pagine web da qualche parte
tra <head> ed </head> come segue:Se poi volete usare le bellissime emoticons di Thunderbird scaricatevi anche questo archivio! Contiene tutte le emoticons ufficiali con tanto di licenza!
/*
<!--[if gte IE 5.5000]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
*/
function correctPNG() {
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);
<!--[if gte IE 5.5000]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
04 Ottobre 2008 16:48:25 · [Png Fix per IE5.5 e IE6.0]
Postato da
Ho notato che su Internet Explorer 7 e successivi ci possono essere dei conflitti... tali conflitti portano a "errori di visualizzazione javascript" e questo avviene quando ad esempio si vuole usare sul proprio sito web un sistema rollover per le immagini del tipo:Per ovviare al problema con versioni di IE 7 e
successive si può modificare lo script per le trasparenze png come segue:La versione modificata dello script può essere scaricata qui
<img src="immagine1.png" onmouseover="this.src='immagine2.png'" onmouseout="this.src='immagine1.png'">
/*
<!--[if gte IE 5.5000]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
*/
function correctPNG() {
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
var ieversion = new Number(RegExp.$1)
if (ieversion<7)
{
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);