在首页的广告图片或者展示图片js中可能会出现如下一段代码,功能是显示图片,并动态切换。而且有那种滤镜那种效果。
以下这段js代码就是加上了类似于滤镜的那种渐变效果。
if (key == 0) {
key = 1;
} else if (document.all) {
document.getElementById("pic").filters[0].Apply();
document.getElementById("pic").filters[0].Play(duration = 2);
}
但是IE6好像不支持document.all,else if 后面执行的代码在IE6环境下会报错。
在网上找了很多资料,都说要运行什么dll之类的。
问题是我不可能让客户去运行那东西。
后来想了个办法,在前面添加一个判断是否IE6的变量。来判断浏览器是否为IE6.更改后的代码如下:
//判断是否为IE6
var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
if (key == 0) {
key = 1;
} else if (document.all&&!isIE6) { //因为IE6不兼容以下代码,当非IE6浏览器时,才执行
document.getElementById("pic").filters[0].Apply();
document.getElementById("pic").filters[0].Play(duration = 2);
}
这样的话,在IE6下浏览网页就不会卡着第一张图不动了,只是切换图片的时候少了那种渐变的效果,没在IE6以上版本那么好看了。
因为火狐不支持document.all所以火狐也没有那种图片切换时的渐变效果。