首页 > 开发 > AJAX > 正文

AJAX教程(4):AJAX 浏览器支持

2020-09-19 11:05:33
字体:
来源:转载
供稿:网友

ajax - 浏览器支持

ajax 的要点是 xmlhttprequest 对象。

不同的浏览器创建 xmlhttprequest 对象的方法是有差异的。

ie 浏览器使用 activexobject,而其他的浏览器使用名为 xmlhttprequest 的 javascript 内建对象。

如需针对不同的浏览器来创建此对象,我们要使用一条 "try and catch" 语句。您可以在我们的 javascript 教程中阅读更多有关 try 和 catch 语句 的内容。

让我们用这段创建 xmlhttprequest 对象的 javascript 来更新一下我们的 "testajax.htm" 文件:

<html><body><script type="text/javascript">function ajaxfunction() { var xmlhttp;  try    {   // firefox, opera 8.0+, safari    xmlhttp=new xmlhttprequest();    } catch (e)    {  // internet explorer   try      {      xmlhttp=new activexobject("msxml2.xmlhttp");      }   catch (e)      {      try         {         xmlhttp=new activexobject("microsoft.xmlhttp");         }      catch (e)         {         alert("您的浏览器不支持ajax!");         return false;         }      }    } }</script><form name="myform">用户: <input type="text" name="username" />时间: <input type="text" name="time" /></form></body></html>

例子解释:

首先声明一个保存 xmlhttprequest 对象的 xmlhttp 变量。

然后使用 xmlhttp=new xmlhttprequest() 来创建此对象。这条语句针对 firefox、opera 以及 safari 浏览器。假如失败,则尝试针对 internet explorer 6.0+ 的 xmlhttp=new activexobject("msxml2.xmlhttp"),假如也不成功,则尝试针对 internet explorer 5.5+ 的 xmlhttp=new activexobject("microsoft.xmlhttp")。

假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持 ajax 的提示。

注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建 xmlhttprequest 对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:internet explorer、opera、firefox 以及 safari。

下一节为您展示如何使用 xmlhttprequest 对象与服务器进行通信。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表