解决Ajax创建对象兼容性
发布时间:2020-12-16 00:25:29 所属栏目:百科 来源:网络整理
导读:创建Ajax对象有如下方式 var xhr=new ActiveXObject('Microsoft.XMLHTTP'); var xhr=new XMLHttpRequest(); 第一种方式只是支持IE浏览器,如果用这种方式创建的话,在其它浏览器中就不起作用了。 第二种方式在IE高版本也支持这种方式的创建方式,其它浏览器
创建Ajax对象有如下方式
var xhr=new ActiveXObject('Microsoft.XMLHTTP'); var xhr=new XMLHttpRequest();第一种方式只是支持IE浏览器,如果用这种方式创建的话,在其它浏览器中就不起作用了。 第二种方式在IE高版本也支持这种方式的创建方式,其它浏览器也支持这种创建方式。 那么对于这种兼容性问题,怎么解决呢? 如下代码是封装成一个函数放在js文件中的,第一种方式:
function createxhr() { var xhr; //获取浏览器信息 var str=window.navigator.userAgent; //判断是否是IE浏览器 if(str.indexOf('MSIE')>0){ //创建一个对象 xhr=new ActiveXObject('Microsoft.XMLHTTP'); }else{ //创建一个对象 xhr=new XMLHttpRequest(); } return xhr; }第二种方式:
function createxhr() { try {return new XMLHttpRequest();} catch (e) {} try {return new ActiveXObject('Microsoft.XMLHTTP');} catch (e) {} alert('请更换浏览器!'); }
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>解决Ajax兼容性问题</title> <script type="text/javascript" src="public.js"></script> </head> <body> <script> var xhr=createxhr(); alert(xhr); </script> </body> </html> 这样就在浏览器访问都能访问到这个对象了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |