AJAX - Tarayıcı Desteği - Ajax Webmaster bilgi bankası, knowledge base Webmaster Araçları

AnaSayfa > Ajax > AJAX - Tarayıcı Desteği
Kategori: Ajax
Gönderen: Admin
Tarih: 2008-11-11
Puan: 3   Puan:3 | Katılımcı:1 | Katılımcı : 1
Okunma: 5205
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

AJAX - Tarayıcı Desteği
AJAX 'ın temeli XMLHttpRequest nesnesidir.

Farklı tarayıcılar XMLHttpRequest nesnesini yaratmak için farklı işlevler kullanırlar.

Internet Explorer bir ActiveXObject kullanırken, diğer tarayıcılar XMLHttpRequest adı verilen Javascript nesnesini kullanırlar.

Bu projeyi oluşturmak ve farklı tarayıcılarla başa çıkmak için bir "try - catch" ifadesi kullanacağız.

Önceden oluşturduğumuz "testAjax.htm" dosyamızı XMLHttpRequest nesnesini oluşturan Javascript kodumuzla güncelleyelim.:


Kod Çizelgesi Kod Dili: html
<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>



Kod açıklaması: Önce, XMLHttpRequest nesnesini tutan xmlHttp değişkenimizi oluşturalım.

Sonra nesneyi XMLHttp=new XMLHttpRequest() ifadesiyle oluşturmayı deneyelim. Bu ifade Firefox, Opera, ve Safari tarayıcıları için geçerlidir. Eğer bu ifade başarısız olursa xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") ifadesini dene. Bu ifade Internet Explorer 6.0+ tarayıcıları için geçerlidir. Bu ifade de çalışmazsa xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ifadesini deneriz. Bu ifade ise Internet Explorer 5.5+ tarayıcıları için uygundur.

Bu üç yöntemin hiçbiri işe yaramazsa kullanıcı çok eski bir tarayıcı kullanıyor demektir. Bu durumda kullanıcı, tarayıcısının AJAX 'ı desteklemediğine dair bir uyarı iletisi alacaktır.

Not: Yukarıdaki tarayıcıya özel kod uzun ve yeterince karmaşıktır. Ama bu kodu bir XMLHttpRequest nesnesi yaratmanız gerektiği her zaman kullanabilirsiniz. Yani bu kodu kopyala-yapıştır yaparak gerektiğinde kullanabilirsiniz. Yukarıdaki kod bütün meşhur tarayıcılarla uyumludur: Internet Explorer, Opera, Firefox ve Safari.

Sonraki konu XMLHttpRequest nesnesinin sunucuyla iletişime geçmek için nasıl kullanıldığını göstermektedir.





Yorumlar
Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin!
Yorum Ekleme Aparatı
Yorum Eklemek için lütfen sol menuden giris yapınız..
Toplam 0 yorum listelendi.