Ajax/ბრაუზერის მხარდაჭერა
Ajax-ის ძირითადი პრინციპი არის XMLHttpRequest ობიექტი.
სხვადასხვა ბრაუზერები იყენებენ XMLHttpRequest ობიექტის შექმნის სხვადასხვა მეთოდებს.
Internet Explorer იყენებს ActiveXObject-ს, როცა სხვა ბრაუზერები იყენებენ ჩაშენებულ JavaScript ობიექტს XMLHttpRequest.
ამ ობიექტის შექმნისათვის და შემდგომ ბრაუზერში გამოყენებისათვის, გამოიყენეთ ოპერატორი "try and catch".
მაგალითი:
<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>
მაგალითის ახსნა:
პირველად შეიქმნება ცვლადი xmlHttp. შემდგომ უნდა შეიქმნას ობიექტი XMLHttp=new XMLHttpRequest(). ეს იმუშავებს FireFox, Opera და Safari ბრაუზერებზე. თუ ეს არ იმუშავებს შეეცადეთ შექმნათ ობიექტი xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"), რომელიც იმუშავებს Internet Explorer 6.0+ ბრაუზერზე, და თუ ესეც არ იმუშავებს შეეცადეთ შექმნათ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ობიექტი, რომელიც იმიშავებს Internet Explorer 5.5+ ბრაუზერზე.
თუ ამ სამი ობიექტიდან არცერთი არ იმუშავებს, მაშინ მომხმარებელს აქვს ძველი ბრაუზერი და ის მიიღებს შეტყობინებას რომ მისი ბრაუზერი არ უზრუნველყოფს Ajax.