用 javascript 修复 IE 下 PNG 图片不能透明显示的方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" c />
<meta name="keywords" c />
<meta name="description" c />
<title>用 javascript 修复 IE 下 PNG 图片不能透明显示的方法 - PNG, 透明, IE, 可携式网络图像, </title>
</head>
<body>
<div id="example">
<h3 id="example_title">用 javascript 修复 IE 下 PNG 图片不能透明显示的方法</h3>
<div id="example_main">
<script type="text/javascript">
// 修复 IE 下 PNG 图片不能透明显示的问题
function fixPNG(myImage)
{
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
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;
}
}
</script>
未经处理的 PNG 显示效果
<br />
<img src="/upload/remotupload/2007112023244413.png" alt="PNG" style="border:1px solid #999;" />
<br />
修复后的 PNG 显示效果<br />
<img src="/upload/remotupload/2007112023244413.png" alt="PNG" style="border:1px solid #999;" />
<br />
<br />
<span class="warn">(注:只有在 IE 下 PNG 的图片才是不透明效果,本例只针对 IE 浏览器)</span>
</div>
</div>
<br />
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" c />
<meta name="keywords" c />
<meta name="description" c />
<title>用 javascript 修复 IE 下 PNG 图片不能透明显示的方法 - PNG, 透明, IE, 可携式网络图像, </title>
</head>
<body>
<div id="example">
<h3 id="example_title">用 javascript 修复 IE 下 PNG 图片不能透明显示的方法</h3>
<div id="example_main">
<script type="text/javascript">
// 修复 IE 下 PNG 图片不能透明显示的问题
function fixPNG(myImage)
{
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
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;
}
}
</script>
未经处理的 PNG 显示效果
<br />
<img src="/upload/remotupload/2007112023244413.png" alt="PNG" style="border:1px solid #999;" />
<br />
修复后的 PNG 显示效果<br />
<img src="/upload/remotupload/2007112023244413.png" alt="PNG" style="border:1px solid #999;" />
<br />
<br />
<span class="warn">(注:只有在 IE 下 PNG 的图片才是不透明效果,本例只针对 IE 浏览器)</span>
</div>
</div>
<br />
</body>
</html>