Проблема в fixpng

esomkin

Новичок
Проблема в fixpng

Доброго времени суток

Для обработки png изображений браузером использую fixpng.js

function fixPNG(element)
{
if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
{
var src;

if (element.tagName=='IMG')
{
if (/\.png$/.test(element.src))
{
src = element.src;
element.src = "/blank.gif";
}
}
else
{
src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
if (src)
{
src = src[1];
element.runtimeStyle.backgroundImage="none";
}
}

if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
}
}

В корне размещен файл blank.gif

.htaccess в том же корне

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

В верстке пишу
<html>
<head>
<link rel="stylesheet" type="text/css" href="/styles.css">
<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="content-type" content="text/html; charset=win-1251">

<!--[if lt IE 7]>
<![if gte IE 5.5]>
<script type="text/javascript" src="/fixpng.js"></script><style type="text/css">
.iePNG, IMG { filter:expression(fixPNG(this)); }
.iePNG A { position: relative; }
</style>
<![endif]>
<![endif]-->
</head>
<body>

<img src="/img/phone.png" width="48" height="50">

</body>
</html>

В результате получаю в IE6 рамку вокруг изображения и красный крестик (типа изображение не загружено), однако прозрачность работает.
Хотелось бы избавиться от рамки с крестиком

Подскажите если кто-то сталкивался с подобной проблемой?!?
Пример lego-lend.ru

С уважением Евгений
 

AmdY

Пью пиво
Команда форума
у тебя негрузится blank.gif проверь пути. а png выгодны когда нужно получить не прозрачность( для этого можно юзать gif), а для полупрозрачности
 

kode

never knows best
плохой у тебя pngfix. есть фиксы которым пустые гифы не нужны. На крайний случай можно самому написать
 

kode

never knows best
Код:
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
		}
	}

	var regexp = new RegExp("url[(](.*)[)]");
	for(var i=0;i<document.all.length;i++){
		var element = document.all[i];
		if(element.style.backgroundImage){
			var imgname = element.style.backgroundImage;
			if(imgname.indexOf("png")>-1){
				imgname = regexp.exec(imgname);
				element.style.backgroundImage = '';
				element.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='"+imgname[1]+"');";
			}
		}

	}
}
да пожалуйста, backgroundImage сам допиливал (по стилю можете заметить что тут разные люди ручки приложили)
 
Сверху