JS兼容

来源:互联网 发布:mac废纸篓清空不了 编辑:程序博客网 时间:2024/06/05 15:48

有时候用到的JS兼容也不算很多,但是我们总要知道一些的,以下的小结有些是从网上获得的,但是都经过亲测!!

1.document.all.id:  IE,Firefox都可以使用,

document.all :可以用来判断所使用的浏览器是不是ie浏览器

if(document.all){alert('IE');}
因为document.all在Firefox中是没有反应的。


2.Firefox关于集合类对象取用时可用[ ],但是IE9 可以使用()和[ ].

document.forms['name']; //name是name的属性,使用在Firefox中。

document.forms('name');  //一般使用在IE浏览器中。


3.childNodes

ie浏览器中是不会包含空文本节点的(IE9 以上的是会包含空的文本节点的),而Firefox是会包含空的文本节点的。

我们可以通过获取它的length属性来比较。


4.document.getElementById('id');

在IE(IE 6,7,8)浏览器中,它可能会出现document.getElementById('name');  //name是name的属性,就是说在该种浏览器中可以通过获取它的name的属性来获得元素的引用。但是在Firefox中就只会检查id的属性。

解决的方法是:尽量不要让另一个元素的name属性等于另一个元素的id属性。


5.window.event

window.event无法在Firefox中使用的,但是在IE中可以使用。


6.attachEvent && addEventListener
IE(IE6,7,8)中使用attachEvent来添加事件,
document.getElementById("id").attachEvent('click',fun);
Firefox,IE9使用的是addEventListener 来添加事件
document.getElementById("id").addEventListener('click',fun);

7.创建XMLHttpRequest
Firefox使用的XMLHTTPRequest,IE使用的是ActiveXObject
解决的方法是:
if(Window.XMLHTTPRequest){
req=new XMLHTTPRequest();
}
else if(window.ActiveXObject){
req=new ActiveXObject('Microsoft.XMLHTTP');
}



0 0
原创粉丝点击