Tarayıcı ve Platform Bilgilerini Alma

 bcakir
 27 Aralık 2011

Merhaba arkadaşlar, bu yazımda uygulamanıza giren kişinin JavaScript ve Php ile tarayıcı ve bilgisayar bilgilerini alma işlemini anlatacağım. Bu bilgilere, özellikle tarayıcılar arasında farklılıklar olunca çok fazla ihtiyaç duyuyoruz. Örneğin, Microsoft Internet Explorer’da bir kod desteklenmeyince tarayıcı bilgisine bakarak desteklediği kodu çalıştırabiliriz ya da sayfamızı ekranın çözünürlüğüne göre değiştirebiliriz. Bunların hepsini JavaScript sayesinde yapmak mümkün. Php sunucu tabanlı olduğu için onun erişebileceği bilgiler çok daha kısıtlı. Bundan dolayı, ön yüzde (kullanıcı tarafında) JavaScript kullanmanızı, arka tarafta yani veritabanı işlemleri gibi durumlarda Php tercihi yapmanızı öneririm. Bu yazımızda, basitçe kullanıcının bilgilerine göre yönlendirmeler yapacağız. Diğer uygulamalarda bu işlemlere ihtiyacımız olacağı için temel mantığını anlatmadan geçmek istemiyorum.

<!DOCTYPE html>
<html>
<head>
<title>Kullanıcının Bilgilerini Alma</title>
<script type="text/javascript">
//sayfa yüklenince çalıştır
window.onload = function(){
    //Tarayıcı kodu
    document.write("Kod: " + navigator.appCodeName);
    //Tarayıcı ismi
    document.write("İsim: " + navigator.appName);
    //Tarayıcı versiyonu
    document.write("Version: " + navigator.appVersion);
    //Cookie
    document.write("Cookies Aktif: " + navigator.cookieEnabled);
    //Kullanıcının Platformu (Win32, Mac, Iphone vs.)
    document.write("Platform: " + navigator.platform);
    //Java desteği
    document.write("Java enabled: " + navigator.javaEnabled());
    //Hangi bağlantı aracılığıyla geldiği
    document.write("Java enabled: " + document.referrer);
    //Sayfa boyutları
    document.write("Sayfa Genişliği: " + screen.width + "Sayfa Yüksekliği: " + screen.height);

    //Platform bilgisi gösterme
    plat = navigator.platform;
    sonuc = plat.indexOf("Win");
    if(sonuc > -1){
        alert('Windows kullanıyorsunuz.')
    }else{
        alert(plat + ' kullanıyorsunuz.')
    }

    //Tarayıcı bilgisi gösterme
    tar = navigator.appName;
    sonuc = tar.indexOf("Microsoft Internet Explorer");
    if(sonuc > -1){
        alert('Microsoft Internet Explorer kullanıyorsunuz.')
    }else{
        alert(tar + ' kullanıyorsunuz.')
    }

    //Tarayıcıya göre yönlendirme yapma örneği
    tar = navigator.appName;
    sonuc = tar.indexOf("Microsoft Internet Explorer");
    if(sonuc > -1){
        //ie.js dosyasını yükle
        var hed = document.getElementsByTagName('head')[0];
        var scrip = document.createElement('script');
        scrip.setAttribute('type', 'text/javascript');
        scrip.setAttribute('src', 'ie.js');
        hed.appendChild(scrip);
    }else{
        //mozilla.js dosyasını yükle
        var hed = document.getElementsByTagName('head')[0];
        var scrip = document.createElement('script');
        scrip.setAttribute('type', 'text/javascript');
        scrip.setAttribute('src', 'mozilla.js');
        hed.appendChild(scrip);
    }
}
</script>
</head>
<body>
</body>
</html>

Yukarıda yönlendirme işlemlerimizi JavaScript diline göre yaptık. Şimdi de Php ile bu işlemlerin nasıl yapılabileceğini inceleyeceğiz. Php ile çok daha kısıtlı bilgi alabildiğimiz için sayfa büyüklüğü değiştirme gibi işlemleri yapmamız mümkün değil fakat mobil cihazlardan gelenlere farklı sayfa gösterme gibi yönlendirmeleri çok kolay yapabiliriz.

<?php
//Kullanıcının bilgilerini alma
$bilgiler = $_SERVER["HTTP_USER_AGENT"];
echo $bilgiler;

//Tarayıcı bilgisi gösterme
$chrome = strpos($bilgiler, "Chrome");
if($chrome > -1){
    echo "Chrome kullanıyorsun.";
}

$iphone = strpos($bilgiler, "iPhone");
$android = strpos($bilgiler, "Android");
//yönlendirme işlemine örnek
if($iphone || $android){
    echo "Mobil siteye yönlendirileceksiniz.";
    //dışardan mobil betiğini almak için
    include "mobil.php";
}else{
    //web sitesi için
    include "web.php";
}
?>

Bu yazımızda, web sitelerinin tarayıcı sorunlarını nasıl aştıkları hakkında temel olarak bilgi sahibi olduğunuzu düşünüyorum. Özellikle tarayıcılar arasında standart olmadığı sürece (Html5 ile ortalık hepten karıştı), bu tarz kodlamalara çok fazla ihtiyaç duyacağız. Giren kullanıcının bilgilerine göre işlem yapmayı anlatarak bir yazımın daha sonuna geldim. Yararlı olması dileğiyle.

 2.209 Okunma

Bu yazıya 15 yorum yapılmış.

  1. çoktandır beklediğim bir yazıydı, bunun için teşekkür ederim. tarayıcı bilgileri ve tarayıcıya göre yönlendirme artık (ne yazık ki zorunlu). iki örneği de denedim ama php olanda bir sorun var ya da benim denediğim server da sorun var. sonuç alamadım. javascriptte bilgiler tamam, birde yönlendirme de bilgiler arasında olsaydı tadından yenilmezdi : )) emeğinize sağlık

    • Siz yönlendirme işlemi de olsa iyi olur deyince yazıya ekleme yaptım. Php betiği hata vermiyor bende localde de serverda da, başka kaynaklardan da kontrol ettim, yapılışı bu şekilde.

  2. Merhaba javascript ile yükseklik ve genişliği nasıl ortalayabilirim
    var startX = 336 //set x offset of bar in pixels
    var startY = 280 //set y offset of bar in pixels
    kod bu 336 280 yerine ne yazarsam her ekran için tam ortalamış olurum ?

    • var startX = screen.width/2;
      var startY = screen.height/2;
      Ekranın tam orta noktası. Eğer bir kutu gibi bir şey kullanacaksan kutunun yüksekliğinin ve genişliğinin yarısını çıkar. Biraz kağıt kalem eline alıp, matematik hesabı yapman lazım.

      • Teşekkürederim evet bi kutuyu ortalıcaktım ama bu verdiğin kodla olmadı yukarda kaldı tşk yinede

      • screen.height/2.5;
        screen.height/3.5;

        böyle yapınca oldu çok tşkederim.

        • Ben karıştırıp pencere büyüklüğünün ölçüsünü alacağına bilgisayar ekranının büyüklüğünü alıyormuşum 😀
          JQuery ile
          $(document).width();
          $(document).height();
          JavaScript ile
          document.body.offsetWidth;
          document.body.offsetHeight;

  3. var startX = document.body.offsetWidth;
    var startY = document.body.offsetHeight;

    bunu böyle yapınca hiç gözükmüyor

    • Kusura bakma ama, gülmekten kendimi alamıyorum. Matematiğin bütün okul yaşamın boyunca galiba hep 1 geldi. Pencerenin büyüklüğü o, senin 2’ye bölüp ekleyeceğin kutunun yarsı kadar büyüklüğünü çıkarman lazım.

      • Söyle anlatıyım benim ekranım 17.3 inç ben kendi ekranıma göre ortalayaibliyorum ama diğer standart ekranlarda kenarda gözüküyor sen demiştin ya pencere büyükliğüne göre aldım şimdi o yüzden denedim ama olmadı

        • Şöyle örnek vereyim. 600px genişliğinde 400px yüksekliğinde bir şeyi ortalayacaksın örneğin.
          var window_x = ($(document).width()/2)-(600/2);
          var window_y = ($(document).height()/2)-(400/2);

          • yine olmadı kutu hiç gözükmüyor neyse daha fazla yormak istemem çok tşkederim ilgilendiğin için 🙂

          • Tamam, ben yeni sinema modu örneğini yaptığımda kodlardan alıp kendine koyarsın.

          • tamam tekrar teşekkürederim sabırsızlıkla bekliyorum (:

  4. javascriptle kullanıcı mobilden mi yoksa pcden mi girmiş nasıl anlayabiliriz?

Yazı hakkında görüşlerinizi belirtmek istermisiniz?

Daha fazla JavaScript, Php
Kapat