由于浏览器的不断升级更新.,会导致旧的版本不支持一些方法,所以当新的代码用到一些方法时,旧的版本的浏览器不能识别导致程序报错,所以在写代码时需要考虑浏览器的兼容性写法.下面就是一些常用的浏览器兼容性写法.
获取节点
- 下一个兄弟节点 父节点.nextSibling ||父节点.nextElementSibling
- 上一个兄弟节点父节点.previousSibing ||父节点.previousElementSibing
- 第一个子节点 =父节点.firstElementChild || 父节点.firstChild
dtd定义
被卷起的长度document.body.scrollLeft || document.documentElement.scrollLeft
scroll 调用者一般是body..兼容性写法
function scroll(){
if(window.pageXOffset!=undefined){
return {"left": window.pageXOffset , "top":window.pageYOffset}
} else if(document.compatMode==="CSS1Compat"){
return {"left": document.documentElement.
scrollLeft
,
"top": document.documentElement.scrollTop }
} else{
return {"left":document.body.
scrollLeft
,
"top":document.body.scrollTop}
}
}
client的调用者一般是body 所以兼容性封装成浏览器可视窗口width and Height
function client() {
if(window.innerWidth!==undefined){
return"{width": window.innerWidth,
"height": window.innerHeight}
} else if(document.compatMode==="CSS!Compat" ){
return {"width": document.documentElement.clientWidth;
"height": document.documentElement.clientHeight}
} else{
return {"width": document.body.clientwidth,
"height": document.body.clientwidth }
}
}