兼容性问题总结

1、event兼容性写法   var ev=ev||window.event

2、clientWidth 兼容写法

document.documentElement.clientWidth||document.body.clientWidth

3、ev.target  Var target=ev.srcElement||ev.target

4、var scrollTop = windows.scrollTop || document.documentElement.scrollTop

5、ajax兼容性

if (window.XMLHttpRequest) {

        //IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码

        xmlhttp = new XMLHttpRequest();

    } else {

        //IE6, IE5 浏览器代码

        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

5、获取属性兼容性

if (window.getComputedStyle) {

        //标准流

        console.log(window.getComputedStyle(div1).width);

        console.log(window.getComputedStyle(div1).cssFloat);

    } else {

        //IE兼容

        console.log(div1.currentStyle.styleFloat);

}

6、绑定事件的兼容性

//绑定点击事件 解决兼容性

    if(window.addEventListener){

        div1 = addEventListener("click",function(){console.log(123)})

    }else{

        //处理IE兼容

        div1.attachEvent("onclick",function(){console.log(123)})

}

7、阻止事件冒泡的兼容性

if(document.all){  //只有ie识别
        e.cancelBubble=true;
    }else{
        e.stopPropagation();
    }

8、阻止默认事件

(1)ev.preventDefault(); (2)IE兼容写法 e.returnValue = false;

9、标签兼容性问题

<!--[ifltIE9]>

<scriptsrc="//cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>

<scriptsrc="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>

<![endif]-->

html5shiv.min.js:处理IE9以下的对于html5标签的兼容性问题

respond.js:处理css3兼容性问题

原文地址:https://www.cnblogs.com/wangxue13/p/13521375.html