Nahrada za png
Nahrada za png
Casto robim web pri ktorom mam problem s gifom...
proste rozstriham web napr do png je to vsetko v poriadku v každom prehliadači okrem IE ten bud nezobrazi priesvitnost a hodi tam hocjaku farbu alebo inu farbu atd...jedina možnosť ako uložiť priesvitný obrázok je gif...bohužial ked je v obrázku viac ako 256 farieb tak niektore farby zlúčy..neexistuje nejaky priesvitný format ako png aby ho zobrazil ie?
proste rozstriham web napr do png je to vsetko v poriadku v každom prehliadači okrem IE ten bud nezobrazi priesvitnost a hodi tam hocjaku farbu alebo inu farbu atd...jedina možnosť ako uložiť priesvitný obrázok je gif...bohužial ked je v obrázku viac ako 256 farieb tak niektore farby zlúčy..neexistuje nejaky priesvitný format ako png aby ho zobrazil ie?
pokial viem, tak iny priesvitny format nie je. nieco taketo riesil kamarat, lebo IE to ignorovalo, ale tusim je na to nejaky JS. pozriem sa ti na to a pastnem daco... snad mi este plati ten FTP ucet 
JS je pre mna spanielska dedina a nemam ani paru co je co, tak ti pastnem toto cele:
JS je pre mna spanielska dedina a nemam ani paru co je co, tak ti pastnem toto cele:
Kód: Vybrať všetko
/* $Id: pngfix.js,v 1.1.2.2 2005/11/30 21:09:00 robinmonks Exp $ */
// Correctly handle PNG transparency in Win IE 5.5 or higher.
// http://homepage.ntlworld.com/bobosola. Updated 02-March-2004
// updated 2005-05-11 to test for IE
function correctPNG() {
if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1 && window.attachEvent) {
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 imgOver = ""
if (img.onmouseover != null) {
var s = img.onmouseover + ""
s = s.replace(/[\s\S]+\{[\s]*([\s\S]*)[\s]*\}$/, "$1");
imgOver = "onmouseover=\"" + s + "\" "
}
var imgOut = ""
if (img.onmouseout != null) {
var s = img.onmouseout + ""
s = s.replace(/[\s\S]+\{[\s]*([\s\S]*)[\s]*\}$/, "$1")
imgOut = "onmouseout=\"" + s + "\" "
}
var imgDown = ""
if (img.onmousedown != null) {
var s = img.onmousedown + ""
s = s.replace(/[\s\S]+\{[\s]*([\s\S]*)[\s]*\}$/, "$1");
imgDown = "onmousedown=\"" + s + "\" "
}
var imgClick = ""
if (img.onclick != null) {
var s = img.onclick + "";
s = s.replace(/[\s\S]+\{[\s]*([\s\S]*)[\s]*\}$/, "$1");
imgClick = "onclick=\"" + s + "\" "
}
var imgAttr = imgID + imgClass + imgTitle + imgOver + imgOut + imgDown + imgClick
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 " + imgAttr
+ " 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
}
}
}
}
if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1 && window.attachEvent) {
window.attachEvent("onload", correctPNG);
}
mno ja neviem po anglicky moc dobre...pridal som toto do javascriptu
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
function fixPNG(myImage)
{
if ((version >= 5.5) && (version < 7) && (document.body.filters))
{
var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
var imgTitle = (myImage.title) ?
"title='" + myImage.title + "' " : "title='" + myImage.alt + "' "
var imgStyle = "display:inline-block;" + myImage.style.cssText
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + myImage.width
+ "px; height:" + myImage.height
+ "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
myImage.outerHTML = strNewHTML
}
}
a nic
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
function fixPNG(myImage)
{
if ((version >= 5.5) && (version < 7) && (document.body.filters))
{
var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
var imgTitle = (myImage.title) ?
"title='" + myImage.title + "' " : "title='" + myImage.alt + "' "
var imgStyle = "display:inline-block;" + myImage.style.cssText
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + myImage.width
+ "px; height:" + myImage.height
+ "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
myImage.outerHTML = strNewHTML
}
}
a nic
Vložil si to do funkcie a to si nemal robiť. Nechaj to v tom súbore pngfix.js a do tvojho html vlož iba to
Kód: Vybrať všetko
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->