`
louisnan
  • 浏览: 27002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用 javascript 修复 IE 下 PNG 图片不能透明显示的方法

阅读更多
// 说明:用 javascript 修复 IE 下 PNG 图片不能透明显示的方法
// 整理:http://www.CodeBit.cn

/*
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
*/

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
		}
	}
}
分享到:
评论

相关推荐

    js修复IE不能显示PNG图片透明背景的方法

    ### js修复IE不能显示PNG图片透明背景的方法 #### PNG图片及其特性 PNG(Portable Network Graphics)是一种常用的位图图形格式,以其高效的压缩算法和对透明度的支持而受到广泛青睐。相较于传统的GIF格式,PNG...

    IE下png图片无法透明的处理方法

    文件"GridView固定表头.txt"可能与本主题关联较小,可能是关于ASP.NET中的GridView控件如何固定表头的教程或代码示例,而"IE下png图片无法透明显示的解决方案"很可能提供了更具体的处理方法,包括代码片段或详细步骤...

    最好的IE6下png透明图片修复代码

    "最好的IE6下png透明图片修复代码"提供了一个解决方案,使得在Internet Explorer 6(IE6)这种老版本浏览器中,也能正确显示具有透明效果的PNG图像。这个问题的核心在于,IE6只支持PNG-8格式的透明,而不支持PNG-24...

    IE6png透明JS

    为了解决这个问题,开发者们开发了一系列JavaScript库和技巧,使得在IE6下也能实现PNG图像的透明效果。 1. **Alpha Image Loader滤镜**:IE6提供了一个名为"Alpha Image Loader"的滤镜,可以通过CSS样式应用到元素...

    IE6 PNG 透明处理方法

    3. JavaScript修复库:如DD_belatedPNG,用于为IE6提供透明PNG的支持。 4. 库的使用方法:如何在HTML页面中引入和初始化JavaScript库,以实现透明效果。 这些知识点对于进行跨浏览器的Web开发和解决老版本浏览器...

    IE6不兼容png透明背景解决方法

    5. **使用PNG-8**:对于不需要多级透明度的图像,可以考虑将PNG-24转换为PNG-8格式,IE6可以正确显示PNG-8的透明效果,尽管颜色层次会受到限制。 每种方法都有其优缺点,开发者应根据项目需求和目标用户群选择合适...

    IE6完美解决PNG背景透明

    虽然iepngfix.htc在某些情况下可以部分解决PNG透明问题,但确实存在一些局限性,比如无法平铺、定位困难,以及在添加了超链接的PNG图像上,点击区域可能无法正常工作。 DD_belatedPNG的优势在于,它不仅解决了iepng...

    实现IE6下png图片透明JS代码

    在早期的Internet Explorer 6(简称IE6)浏览器中,PNG格式的图片无法支持Alpha透明度,这导致了网页设计者在使用半透明或有透明背景的PNG图像时遇到问题。为了解决这个问题,开发者们利用JavaScript编写了一些脚本...

    png图片在IE下透明实现方法

    PNG图片在Internet Explorer(IE)浏览器下的透明实现方法是一个常见的前端技术挑战,因为早期的IE版本(主要是IE6和部分IE7)不完全支持PNG格式的透明特性。PNG(Portable Network Graphics)是一种位图图像格式,...

    IE下png透明插件

    在这个场景下,JavaScript插件通过读取PNG图片并应用特定的处理,使得图片在IE浏览器上能正确显示透明效果。 “解决了图片在下绿色底的烦恼”,这句话进一步强调了这个插件的目标是解决IE浏览器中PNG图片透明度缺失...

    实现ie6的png图片透明的2种方法

    ### 实现IE6中的PNG图片透明的两种方法 在网页设计与开发的过程中,尤其是在处理旧版浏览器兼容性问题时,确保图像在不同浏览器中的显示效果一致是非常重要的。Internet Explorer 6(简称IE6)作为一款发布于2001年...

    IE6下PNG图片透明教程

    对于不支持PNG透明的浏览器,可以考虑使用备选方案,如使用JPEG或GIF图片,或者使用CSS3的`opacity`属性和`background-color: rgba()`为非IE6浏览器提供透明效果,而对IE6提供一个不透明的替代方案。 5. 鼓励用户...

    IE6下PNG透明代码

    5. **PNG透明修复脚本**:压缩包内的“IE6 PNG处理”脚本可能是一个JavaScript库,如DD_belatedPNG,它通过检测浏览器版本,对IE6下的PNG图片进行特殊处理,使其能够正确显示透明效果。这类脚本通常会分析图片,创建...

    IE6下png图片透明解决方案

    这些脚本通过检测浏览器类型并在需要时动态添加滤镜,使得PNG图片在IE6下也能显示透明效果。引入这些库后,只需在图片元素上应用特定的类名即可。 5. **条件注释法** IE6支持条件注释,这允许我们在HTML文档中针对...

    ie 网站全部png图片修复透明(js)

    然而,在IE5.5和6中,PNG24(包含Alpha透明通道的PNG格式)的图片会显示为黑色背景或者无法正确显示透明效果,这给网站设计者带来了困扰。 "ie 网站全部png图片修复透明(js)"这个项目正是为了解决这个问题。它...

    解决IE6.0下png背景透明及连接不能点击

    在早期的网页设计中,IE6.0浏览器的兼容性问题常常困扰着开发者,其中最典型的两个问题是:PNG图片的背景透明无法正确显示以及带有透明背景的链接无法正常点击。这两个问题在现代浏览器中通常不是问题,但在IE6.0上...

    DD_belatedPNG.js解决IE6浏览器下的PNG透明图片显示问题

    这主要源于IE6不支持PNG8以上的Alpha透明度,导致透明PNG图片在该浏览器下显示为黑色背景或者完全不透明。为了解决这个问题,开发者们创造了一种名为“DD_belatedPNG”的JavaScript库,它通过JavaScript模拟了PNG...

    js支持ie6 png图片透明

    在早期的Internet Explorer 6...综上所述,解决IE6下的PNG图片透明问题需要结合CSS滤镜、JavaScript库以及适当的布局调整。虽然现在IE6的使用率已经非常低,但在维护旧项目或考虑全球用户时,这些问题仍然值得关注。

    IE 6 PNG透明通道

    然而,早期的Internet Explorer 6(简称IE6)浏览器对PNG8和PNG24格式的支持存在局限性,特别是对Alpha透明通道的支持不完全,导致PNG图片的透明效果在IE6上显示异常。 为了解决这个问题,开发者们提出了一些解决...

Global site tag (gtag.js) - Google Analytics