Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

HTTP_USER_AGENT

Merhabalar. Direk söze girmek istiyorum benim merak ettiğim soru şu:
Php HTTP_USER_AGENT fonksiyonunu bir değişkene aktardığımızda sayfamızda bir if komutu ile tarama yaptıracağız. Örneğin: HTTP_USER_AGENT ten gelen değer MSİE ise ie.css i çekecek sayfaya buraya kadar bir sorunum yok. Fakat bir çok yerde aramama rağmen diğer tarayıcı kontrollerini nasıl yapacağımı bulamadım. Tek Bulduğum MSIE ve MOZ oldu bana lazım olanlar ise şöyle:
Apple Safari
Opera
Mozilla
Google Chrome
İnternet Explorer
Netspace
Bunları "if"lerde kontrol ettirip sayfama ona göre css dosyaları çağırmayı planlıyorum çünkü
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • ookuu adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    13 cevap - 1 soru
    Bu Class senin yapmak istediğini yapıyor. İçeriğinde browser'ları görebilirsin.

    http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

    Lakin her browser'a ayrı css yazmana gerek olduğunu düşünmüyorum. Genelde İE uyuzluk yapar. Bence css kodlarını incelemelisin.
    • varezci adlı üyenin fotoğrafı varezci
      Cevabınız için teşekkürler işime yaradı fakat css sorunu şöyle ki sayfa içerisinde yapılan bir çok işlem var ve bu işlemler sırasında ister istemez mantık sistemi belli yerlerde aksaklıklar yapıyor. Her browser'a farklı bir css yazmamın sebebide bu zaten örneğin: mozilla firefoxta tam çalışan bir sayfa Google Chrome kayma yapabiliyor ya da İE'de tam gözüken sayfa mozillada bordürsüz yada bordürleri farklı renkte gözükebiliyor.Zaten en büyük sorunu Opera-Mozilla ve İE'de yaşadım verdiğiniz linktende sorunu biraz karışık oldu ama çözdüm :)
      10 yıl önce yazılmış

Cevaplar

  • protest adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    32 cevap - 6 soru
    bunu bulmanın yolu çok basit:
    <?php
    phpinfo();
    ?>
    

    bu kodu tüm tarayıcılarda çalıştır. ve HTTP_USER _AGENT değerini görebilirsin böylece.

    zaten hepsine ayrı ayrı css tanımlamak istedigine göre her browserdaki goruntusunu test etmen gerekecek. dolayısyla bu browser ları zaten kurman gerekiyor.
  • varezci adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    6 cevap - 5 soru
    benim demek istediğimi sanırım iyi bir şekilde anlatamadım arkadaşlar
    <?php
    $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
    if (stristr($nav, "msie")) 
    {
    echo "ie.css";
    }
    elseif (stristr($nav, "moz"))
    {
    echo"mozilla.css"
    }
    ?>
    

    Bunları çoğaltacağım ve diğer tarayıcıların isimleri gerekiyor çünkü sayfa her birinde farklı gözüküyor
  • GncArt adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    42 cevap - 13 soru
    Bence bu kadar zahmete girip her tarayıcı için ayrı sayfa hazırlayacağına CSS bilgilerini geliştirp Cross-Browser (Sayfanın tüm tarayıcılarda aynı gözükmesi) tarzı tasarım yapmayı denemelisin.
    • varezci adlı üyenin fotoğrafı varezci
      Css'lerin bir çok türünü denedim öyleki "-moz-", "-webkit-" gibi css tagları bile sayfanın aşırı yoğunluğu karşısında çakıldılar. İşlemez hale gelmek yerine sayfayı daha da sapıttırmayı başardılar o yüzden ayrı bir css yazmak daha cazip geldi üzerinde ufak değişiklikler yaparak düzeltebiliyordum çünkü sayfayı :) örneğin birisinde width değeri 100 se diğerinde 150 yapınca gideriyordu bu sorunu.
      10 yıl önce yazılmış