dHtml_Tarayici_browser_tanim.htm

Browser tanımlama

Browser üreticileri farklı şekillerde broserler için bir Document Object Model geliştirdiklerinden ve browserlere farklı yaklaşımlar sunduklarından browserler arası DHTML uygulamalarında farklılıklar olmaktadır. Bu nedenle bir DHTML uygulaması hazırlarken ilk olarak bu uygulmayı çalıştıracak browseri tanımlamamız gerekmektedir.

Bir websayası değişik üreticilerin sundukları değişik sürümlerde browserlerle ziyaret edilebilir. Bu nedenle eğer sayfamızı özel bir browsere göre hazırlamıyorsak hazırladığımız uygulama her brower üzerinde çalışmak zorundadır. Bunun içinde öncelikle browser tanımlaması yapmak zorundayız.

Nestcape 4.x

Nestcape 4.x browserler katman tanımlamasını LAYER tagı üzerine kurmuşlardır. Bu nedenle javascript ile browserin Nestcape 4.x uyumlu olup olmadığını anlamak için layer nesnesini kontrol etmemiz gerekmektedir. Bu şu şekilde yapabiliriz.

ns4 = (document.layers) ? true : false

Bu kod ile eğer browser layer nesnesini tanıyorsa yani Nestcape 4.x ise ns4 değişkenine true değeri atanacaktır, aksi halde false değeri ns4 değişkenine atanır.

Internet Explorer 4.x

Internet Explorer sayfa üzerinde tüm nesneler ile oynayabilir ve bunu sağlamak için all nesnesini kullanır. Biz browserin IE 4.x olduğunu anlamak için :

ie4 = (document.all) ? true : false

kodunu kullanacağız. IE5 içinde bu tanımlamayı kullanacağız.

Netscape 6.x

NS6 W3C nin tanımladığın standart DOM1 tanımlamasına uygun bir DOM yapısına sahiptir. Bu nedenle bu browserde getElementById nesnesi ile sayfa elemanlarına ulaşılır. Standartları destekleyen Netscape 6.x serisi browserler için :

ns6 = (document.getElementById && !document.all) ? true : false

kodu ile eğer browser getElementById nesnesini tanıyor ve de document.all nesnesini tanımıyorsa yani IE 5.x değilse ns6 değişkeni true aksi halde false değeri alacaktır. Burada document.all nesnesinin denetlenmesinin sebebi IE5.x serisinin de getElementById nesnesini kullanabilmesidir.

Bu değişkenleri nasıl kullanacağımızı görelim : Öncelikle bu değişkenler javascript içerisinden tanımlanacaktır ve bu tanımlama sayfa yüklenmeden yapılmalıdır. Kullanacağımız kod :


<script>
ns4 = (document.layers) ? true : false;
ie4 = (document.all) ? true : false;
ns6 = (document.getElementById && !document.all) ? true : false;
</script>

şeklinde olacaktır. Şimdi bu koda bir de fonksiyon ekleyelim ve sayfa yüklenirken browserin türünü bize söylesin.


function tanimla(){
if(ns4)
alert("Nestscape 4.x browser. layer özelliği kullanıyor.");
else if(ns6)
alert("Netscape 6.x browser. getElementById kullanılıyor.");
else if(ie4)
alert("Interntet Explorer. all özelliği kullanılıyor.");
}

bu fonksiyonuda script tagı içerisine yerleştirelim. Simdi browserimizi sınayan ve tanımllayan bir scriptimiz oldu. Tüm kodlar :


<HTML>
<HEAD>
<SCRIPT>
ns4 = (document.layers) ? true : false;
ie4 = (document.all) ? true : false;
ns6 = (document.getElementById && !document.all) ? true : false;
function tanimla(){
if(ns4)
alert("Nestcape 4.x browser. layer özelliği kullanıyor.");
else if(ns6)
alert("Netscape 6.x browser. getElementById kullanılıyor.");
else if(ie4)
alert("Interntet Explorer. all özelliği kullanılıyor.");
}
</SCRIPT>
</HEAD>
<BODY onLoad="tanimla()">
</BODY>
</HTML>

Burada onLoad="tanimla()" şeklinde girdiğimiz parametrenin sayfa yüklendiğinde tanimla() isimli fonksiyonu çağıran bir event olduğunu hatırlatmakta fayda görüyorum.

Sonucu denemek için yukarıdaki ifadeleri deneyebilirsiniz..

 
Yardım İçin Sadece Bir Tık Yeter
 
Sponsor
 
.tk
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol