【 tulaoshi.com - Web开发 】
AJAX-浏览器支持
AJAX的要点是XMLHttpRequest对象。
不同的浏览器创建XMLHttpRequest对象的方法是有差异的。
IE浏览器使用ActiveXObject,而其他的浏览器使用名为XMLHttpRequest的JavaScript内建对象。
如需针对不同的浏览器来创建此对象,我们要使用一条"tryandcatch"语句。您可以在我们的JavaScript教程中阅读更多有关try和catch语句的内容。
让我们用这段创建XMLHttpRequest对象的JavaScript来更新一下我们的"testAjax.htm"文件:
html
body
scripttype="text/javascript"
functionajaxFunction()
{
varxmlHttp;
try
{
//Firefox,Opera8.0+,Safari
xmlHttp=newXMLHttpRequest();
}
catch(e)
{
//InternetExplorer
try
{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("您的浏览器不支持AJAX!");
returnfalse;
}
}
}
}
/script
formname="myForm"
用户:inputtype="text"name="username"/
时间:inputtype="text"name="time"/
/form/body
/html
例子解释:
首先声明一个保存XMLHttpRequest对象的xmlHttp变量。
然后使用XMLHttp=newXMLHttpRequest()来创建此对象。这条语句针对Firefox、Opera以及Safari浏览器。假如失败,则尝试针对InternetExplorer6.0+的xmlHttp=newActiveXObject("Msxml2.XMLHTTP"),假如也不成功,则尝试针对InternetExplorer5.5+的xmlHttp=newActiveXObject("Microsoft.XMLHTTP")。
假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持AJAX的提示。
注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建XMLHttpRequest对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:InternetExplorer、Opera、Firefox以及Safari。
下一节为您展示如何使用XMLHttpRequest对象与服务器进行通信。