适配IE浏览器的那些坑

1.标签

原先的浏览器验证码用的是object标签,可惜在我们最可爱的IE中居然变了样,没办法,就换成img标签,但是img有个隐藏特性,就是在设置“img.src”的时候,如果src一样的话,每次点击图片不会改变,所以要在后面加一个随机数字,或者日期
例如:img.src=”url&time=”+(new Date()).getTime();

2.onload方法

需求是在pdf加载完成后,隐藏加载提示.
2.1先说说显示pdf,常用标签embed/iframe
2.2在说说咱们的onload方法,embed本身就不执行onload方法,而且iframe在IE11里也不执行onload的,但是还需要他,没办法,只能对ie单独处理了。所以就有了第3项

3.判断是不是IE浏览器

直接上代码
第一种方法:

function isIE() { //ie?
        if (!!window.ActiveXObject || "ActiveXObject" in window){
            alert("is IE");
            return true;}
        else{
            alert("is not IE");
            return false;
        }
    }

第二种方法

 var pdftemp = document.getElementById('pdf');
                if (pdftemp.addEventListener) {
                    pdftemp.addEventListener('load', test(), false);
                }
                else if (pdftemp.attachEvent) {
                    pdftemp.attachEvent('onload', test());
                }
                else {
                    pdftemp.onload = test();
                }
                function test() {
                    alert("执行方法");
                }

但是经过试验第二种方法的load方法总是出现在加载完成前,所以也不是最优解,还在等待最优解。

以上做个记录,希望能够帮到用的到的人。

你可能感兴趣的:(web)