IE下png图形的另一种处理方法
来源:互联网 发布:淘宝申诉回来还会封吗 编辑:程序博客网 时间:2024/05/21 05:40
IE 下 png 文件的处理
目前 XOOPS NewBB 2.0所采用的方法
style.css
img {
behavior:url("pngbehavior.htc");
}
pngbehavior.htc:
<public:component>
<public:attach event="onpropertychange" onevent="propertyChanged()" />
<public:attach event="onbeforeprint" for="window" onevent="beforePrint()" />
<public:attach event="onafterprint" for="window" onevent="afterPrint()" />
<script>
/*
* PNG Behavior
*
* This script was created by Erik Arvidsson (erik(at)eae.net)
* for WebFX (http://webfx.eae.net)
* Copyright 2002
*
* For usage see license at http://webfx.eae.net/license.html
*
* Version: 1.01a
* Created: 2001-??-?? First working version
* Updated: 2002-03-28 Fixed issue when starting with a non png image and
* switching between non png images
* 2003-01-06 Fixed RegExp to correctly work with IE 5.0x
* 2004-04-25 Fixed PNG image printing, eliminated need for external
* GIF file, fixed intermittent uninitialised variable
* error [by AG, <http://www.scss.com.au/family/andrew/> ]
* 2004-09-30 Reverted inline javascript image to transparent GIF. The
* new XP SP2 'security' measures prevented the JS image
* from working. [by AG]
* 2004-10-22 Rewrote fixImage() to try and work around some reported
* problems with PNGs vanishing! [by AG]
*
*/
var IS_PNG = /.png$/i; /* <-- NOTE: remove the "/-trans" to process *all* PNGs */
var supported = /MSIE (5/.5)|[6789]/.test(navigator.userAgent) && navigator.platform == 'Win32';
var realSrc;
var blankSrc = 'images/blank.gif';
if (supported) fixImage();
function propertyChanged() {
if (supported && event.propertyName == 'src' && element.src != blankSrc) {
fixImage();
}
}
function fixImage() {
if (realSrc && element.src == realSrc) {
// this is an attempt to set the image to itself!
// pointless - leave the filter as-is, restore the blank image
element.src = blankSrc;
} else {
// set the image to something different
if (IS_PNG.test(element.src)) {
// fixable PNG
realSrc = element.src;
element.src = blankSrc;
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + realSrc + "',sizingMethod='scale')";
} else {
// ordinary image - make sure the fix is removed
if (realSrc) {
realSrc = null;
element.runtimeStyle.filter = '';
}
}
}
}
function beforePrint() {
if (realSrc) {
supported = false;
element.src = realSrc;
element.runtimeStyle.filter = '';
supported = true;
}
}
function afterPrint() {
if (realSrc) {
var rs = realSrc;
realSrc = null;
element.src = rs;
}
}
</script>
</public:component>
注意:该种方法须指定 width, height
IE 7+就不用这些麻烦了
- IE下png图形的另一种处理方法
- IE 下 png 文件的处理
- ie下双倍margin的处理方法
- ie下双倍margin的处理方法
- IE6下PNG图片背景透明的处理方法
- png图片格式在IE下的问题
- IE使用png透明图片的方法
- 另一种处理Excel的方法NPOI
- 用 javascript 修复 IE 下 PNG 图片不能透明显示的方法
- png图片在IE下透明实现方法
- Ubuntu 下另一种隐藏文件的方法
- IE 6 png背景透明bug的处理
- ie下jquery.getJSON的缓存问题的处理方法
- ie下jquery.getJSON的缓存问题的处理方法
- 图像处理:双线性差值的另一种处理方法
- Android下的图形处理
- IE下png图片透明失效的bug解决方案
- 发现一个在IE下也支持 png 的js
- 通过java提供的URL类包读取网上的文件
- 经典之作,windows2000 professional!
- 今天看的好累,IPSec真的好烦。
- Cisco PIX 525!
- 在企业中真的需要Linux吗?
- IE下png图形的另一种处理方法
- 在 Windows XP Embedded 中使用 Netsh
- I LOVE YOU
- Exobud MP 简体中文版
- 光棍节前夕:一个IT王老五的情感自白书
- 在 Windows XP Embedded 中使用 Enhanced Write Filter (EWF)
- 生气,愤怒和哭笑不得
- JDBC之通过DatabaseMetaData对象了解数据库的信息
- 经典水晶报表设计——列非常多,横向篇幅非常长的表 选择自 haibodotnet 的 Blog