Ajax/ბრაუზერის მხარდაჭერა

ვიკიწიგნებიდან
Jump to navigation Jump to search

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.