继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

兼容性问题处理总结

RockyB
关注TA
已关注
手记 2
粉丝 2
获赞 2
  1. 在IE6/7/8下

Object.prototype.toString.apply(null) 返回"[object Object]" Object.prototype.toString.apply(undefined) 同样返回"[object Object]"


2.IE8以下 JSON是不存在的

解决方法

var str = '{"a":100}'// 1. JSON.parse : 将JSON格式的字符串转成JSON格式的对象

/*var o = JSON.parse(str);
    o.a=200;//{"a":200}
    console.log(o.a);
    console.log(JSON);*/
    
//在IE8以下,JSON是不存在的
console.log(eval("("+str+")"))


3.获取上一个哥哥元素节点,兼容所有浏览器

function getBrother(curEle) {
 
        var pre = curEle.previousSibling;        
        while(pre)
        
        {            if(pre.nodeType===1){                return pre;
            }
            
            pre = pre.previousSibling;
            
            // pre等于哥哥节点的哥哥节点;
        }
    }


4.bind传参的方式和call方法一样; IE8以下不兼容


5.低版本ie获取可视区域宽高

var winW=document.body.clientWidth

var winH=document.body.clientHeight


6.兼容浏览器获取可视区域的方法

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

document.documentElement.clientHeight||docuemnt.body.clientHeight


Ie8以下不兼容,window中没有getComputedStyle这个方法

//解决方法元素.currentStyle.属性名 

//兼容IE所有浏览器//只能Ie使用

未完待更新

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP