注意:因为JSON对象是不兼容的,所以在引入封装好的Ajax之前,需要引入json2.js文件,保证JSON对象在所有平台的兼容。
(新的XMLHttpRequest不推荐用onreadystatechange,使用onload)
onload: 所有请求成功完成后触发,此时readystate的值为4 (IE678不支持)
onreadystatechange: readyState的值发生改变时触发的事件,只要这个值有变化就会触发
2.完成事件onreadystatechange、onload的兼容
1. XMLHttpRequest对象的兼容 (IE6以下不兼容)
Ajax的兼容包括:
下:3(正数)
上:-3(负数)
滚动的方向 event.detail
DOMMouseScroll FireFox(必须用addEventListener添加)支持
下:-120(负数)
上:120(正数)
滚动的方向 event.wheelDelta
mousewheel IE/chrome支持
attachEvent (IE678支持),但是要注意它的事件名字参数要加on。
addEventListener( IE9以及以上支持)
IE6,7,8的事件对象是window身上的一个属性
IE9以及以上支持
document.body.scrollTop ( chrome从body身上获取)
document.documentElement.scrollTop (其它的浏览器从document身上去获取)
scrollTop/scrollLeft
DOM属性:
window.pageYOffset;
window.pageXOffset;
BOM属性:(IE9以及以上支持)
IE8以下的非标准浏览器获取到的是标签节点,标准浏览器获取到的不一定是标签节点为 #text。
以上方法都是兼容的,但是各个浏览器取到的结果不一样。
previousSibling
nextSibling
lastChild
firstChild
currentStyle(所有IE都支持,它是一个属性)
getComputedStyle (IE9以及以上支持)
querySelector/querySelectorAll (IE8以及以上支持)
getElementsByClassName ( IE9以及以上支持)
来源: http://www.w3cfuns.com/notes/30895/1eb911f1a88f5762db62a63ee378a83b.html