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.:




<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.




Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.