Ajax判断浏览器的方法总结
首先把代码给大家,下面是解释
/**
* 获得XMLHttpRequest对象
*/
function createXHR(){
var x=[function(){return new ActiveXObject("Msxm12.XMLHTTP");},function(){return xmhttp=new ActiveXObject("Microsoft.XMLHTTP");},
function(){return new XMLHttpRequest();}];
for (var i=0; i<x.length; i++) {
try {
return (x[i])();
} catch (e) {
}
};
}
方法一:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//检查是否使用的是IE
try {
//如果JavaScript的版本大于5
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
// 如果不是,则使用老版本的ActiveX对象来检查
try {
//如果使用的是IE浏览器
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
// 否则肯定使用的是非IE浏览器
xmlreq=false;
}
}
}
//如果使用的是非IE浏览器,则创建一个该对象的JavaSript实例
if(!xmlreq && typeof XMLHttpRequest!='undefined'){
xmlreq=new XMLHttpRequest();
}
方法二:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//如果ActiveX对象可用,则使用的肯定是IE
if (window.ActiveXObject) {
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// 否则肯定使用JavaSript处理方法
xmlreq=new XMLHttpRequest();
}
方法三:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//
if (window.XMLHttpRequest) {
// 如果使用的是非IE浏览器,则创建一个该对象的JavaSript实例
xmlreq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Create XMLHttpRequest via MS ActiveX
try {
// 如果JavaScript的版本大于5
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
相关文档:
Ajax------很多程序员都喜欢玩这个东西,觉得很是高深莫测,而且越是痛苦越钟爱,我发现这是程序员的通病,好像不折磨自己不足以享受这么美好的生活,Ajax很火,确实很火,火到什么程度我已经不大清楚,在当时我学程序的那个年代它甚至超过spring,struts等等主流的框架,天哪微软和SUN都很担心,但是时间证明Ajax仅仅只是个这些程序员 ......
What is AJAX
This section is for those who have no idea what AJAX is. If you don’t fall into this category, feel free to skip to the next section.
AJAX stands for asynchronous JavaScript and XML. If you see another term XHR, which is shorthand for XML HTTP request, it’s the same thing. ......
对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可;但是对于希望掌握 Ajax 的开发人员来说,必须要全面理解 HTTP 状态代码、就绪状态和 XMLHttpRequest 对象。在本文中,Brett McLaughlin 将向您介绍各种状态代码,并展示浏览器如何对其进行处理,本文还给出了在 Ajax 中使用的比较少见的 HTTP 请求。 ......
在一个小型项目中,我使用了Ajax Extensions中的UpdatePanel控件,在本地调试运行时好的,可以看到ajax的异步刷新效果,但是当发布到安装了.net framework 3.5 sp1的server 2003上去之后,发现ajax效果没有了,也就是说本来的异步提交变成了非Ajax方式的POST,而且没有报告任何错误。
对比开发时和运行 ......
ajax.open方法中,第3个参数是设同步或者异步。prototype等js类库一般都默认为异步,即设为true。
先说下同步的
情况下,js会等待请求返回,获取status。不需要onreadystatechange事件处理函数。
而异步则需要
onreadystatechange事件处理,且值为4再正确处理下面的内容
......