AJAX Browser Support
AJAX - Browser Support
The keystone of AJAX is the XMLHttpRequest
object.
Different browsers use different methods to create the XMLHttpRequest object.
Internet Explorer uses an ActiveXObject, while other browsers uses the built-in JavaScript
object called XMLHttpRequest.
To create this object, and deal with different browsers, we are going to use
a "try and catch" statement. You can read
more about the try and catch statement in our
JavaScript tutorial.
Let's update our "testAjax.htm" file with the JavaScript that
creates the XMLHttpRequest object:
<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("Your browser does not support AJAX!"); return false; } } } } </script>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>
|
Example explained: First create a variable xmlHttp to hold the XMLHttpRequest object.
Then try to create the object with XMLHttp=new XMLHttpRequest(). This is for
the Firefox, Opera, and Safari browsers. If that fails, try xmlHttp=new
ActiveXObject("Msxml2.XMLHTTP") which is for Internet Explorer 6.0+, if that
also fails, try xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") which is for Internet Explorer 5.5+
If none of the three methods work, the user has a very outdated browser, and
he or she will get an alert stating that the browser doesn't
support AJAX.
Note: The browser-specific code above is long and quite complex.
However, this is the code you can use every time you need to create an XMLHttpRequest object, so you can
just copy and paste it whenever you need it. The code above is compatible with all the popular browsers: Internet
Explorer, Opera, Firefox, and Safari.
The next chapter shows how to use the XMLHttpRequest object to communicate with
the server.
|
|
|
See why there are 20,000+ Ektron integrations worldwide.
Request an INSTANT DEMO or download a FREE TRIAL today. |
|
|
|