AJAX Hacks 之HACK1. 检测浏览器的兼容性

ajax|浏览器

AJAX Hacks 之HACK1. 检测浏览器的兼容性

本节介绍如何使用JavaScript 建立起IE或Mozilla浏览器相应的请求对象。客户端使用的浏览器是各种各样的。因此也有不同的请求对象。如在Firefox, Netscape, Safari,Opera中是XMLHttpRequest。IE则是Microsoft.XMLHTTP 或 Msxml2.XMLHTTP。

使用AJAX的第一步是检测客户浏览器的类型,根据相应的类型取得request 对象。下面就是取得该对象的完整代码:

/* Initialize a Request object that is already constructed /
function initReq(reqType,url,bool){
/
Specify the function that will handle the HTTP response */
request.onreadystatechange=handleResponse;

/* onreadystatechange监听handleResponse函数。接下来就是打开连接,发送请求……

*/
request.open(reqType,url,bool);
request.send(null);
}

/* Wrapper function for constructing a Request object.
Parameters:
reqType: The HTTP request type such as GET or POST.
url: The URL of the server program.
asynch: Whether to send the request asynchronously or not. */

function httpRequest(reqType,url,asynch){
//Mozilla-based browsers
if(window.XMLHttpRequest){    //如果是非IE浏览器
request = new XMLHttpRequest(); //取得对象。
initReq(reqType,url,asynch);
} else if (window.ActiveXObject){ //如果是IE浏览器
request=new ActiveXObject("Msxml2.XMLHTTP");
if (! request){
request=new ActiveXObject("Microsoft.XMLHTTP");
}
if(request){
initReq(reqType,url,asynch);
/* Unlikely to branch here, as IE users will be able to use either one of the
constructors*/
} else {
alert("Your browser does not permit the use "+
"of all of this application's features!");}
} else {
alert("Your browser does not permit the use "+
"of all of this application's features!");}
}

应当注意到handleResponse函数是事件处理的核心。

<

时间: 2024-11-01 23:18:32

AJAX Hacks 之HACK1. 检测浏览器的兼容性的相关文章

AJAX Hacks 之HACK3. 使用独立的文件来取得http request

ajax|request AJAX Hacks 之HACK3. 使用独立的文件来取得http request 本节讲述将初始化request对象的代码从其他代码中抽取出来,作为一个单独的JavaScrip文件来使用. 当一个Ajax应用程序很大的时候,理清每部分的功能是很有必要的.所以把管理XMLHttpRequest对象的代码作为一个独立的js文件保存,如果某个页面使用到它,就将它加载近来,这样做无疑更容易管理.当代码需要修改时,只需修改该文件就是. hack将所有的和request-obje

WEBJX分享国外优秀的测试浏览器的兼容性的工具

文章简介:对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具. 对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具. Spoon Browser Sandbox 点击你需要测试的浏览器环境,安装插件就可以进行测试了.帮助你测试网页在Safari.Chrom

AJAX Hacks 之HACK2. 使用Request对象与服务器进行数据传递

ajax|request|对象|服务器|数据 AJAX Hacks 之HACK2. 使用Request对象与服务器进行数据传递 以传统的传送表单数据的方式开始,本节介绍使用post方法发送数据,与服务器进行通信,而在这个过程中不会出现页面刷新现象.然后显示服务器相应的信息. 页面很简单,就是一个表单,要求用户输入姓名.性别.国家或地区.输入完毕用户可以提交表单.(具体图示见原文) 页面的HTML代码如下:"http://www.w3.org/TR/1999/REC-html401–1999122

AJAX Hacks之Hack 4. 接收XML格式的数据

ajax|xml|数据 AJAX Hacks之Hack 4. 接收XML格式的数据 当前的许多交换数据的技术都使用XML格式的数据,那是因为XML格式的数据被广泛的使用和支持.因此,不同用户可以已有的技术来生成.发送.接收XML数据而不需要使用别的工具转换数据的格式. 一个典型的例子就是一个GPS设备可以在任何地方共享它需要的数据.无论是在远行.或是户外活动,当把设备插入到计算机的UBS接口后,就可以向web发送数据了.GPS软件被设置为默认支持XML格式的数据.而web也使用xml格式的数据.

AJAX应用实例之检测用户名是否唯一(实例代码)

先给大家展示下效果图,然后再给大家撸代码,效果图如下所示: 下面写一个简单的例子,检测用户名是否唯一(直接撸代码): 前端界面: <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transition

JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js_javascript技巧

检测浏览器的方式 1.对象特征检测法:判断浏览器能力的通用方法.如果更关注浏览器的能力而不在乎它的实际身份,就可以使用这种检测方法.常见的原生Ajax写法中就用这种方法来创建XMLHttpRequest: 复制代码 代码如下: IXHR: function(){ if(window.ActiveXObject){ XHR=new ActiveXObject('Microsoft.XMLHTTP'); }else if(window.XMLHttpRequest){ XHR=new XMLHttp

ajax函数,用户注册_检测

var xmlHttp;ajax函数,用户注册_检测 //定义AJAX函数 function ajax() {         if(window.XMLHttpRequest)         {             xmlHttp = new XMLHttpRequest();//mozilla浏览器         }         else if(window.ActiveXObject)         {             try             {       

检测浏览器对HTML5和CSS3支持度的方法

  HTML5, CSS3 以及其他相关技术例如 Canvas.WebSocket 等等将 Web 应用开发带到了一个新的高度.该技术通过组合 HTML.CSS 和 JavaScript 可以开发出桌面应用具有的效果.尽管 HTML5 承诺很多,但现实中对 HTML5 支持的浏览器以及 HTML5 标准本身的完善程度都还没有到一个很成熟的程度.现在完全不担心浏览器支持是不现实的,还需要时间,因此当我们决定要采用 HTML5 技术开发 Web 应用的时候,我们需要对浏览器所支持的特性进行检测. 而

使用&amp;#106avascript检测浏览器的相关特性

浏览器 一.检测浏览器的名称问题:    不同的浏览器对javascript的标准支持也有不同,有时希望脚本能够在不同的浏览器上都能运行良好,这时需要对浏览器进行检测,确定其名称,以针对不同的浏览器编写相应的脚本.解决方案:    使用navigator对象的appName属性.    比如,要检测浏览器是否为IE,可以这么做:    var isIE = (navigator.appName == "Microsoft Internet Explorer");    document