SORU
23 Mart 2012, Cuma


Nasıl Safari, Chrome, IE, Firefox ve Opera tarayıcı algılamak için?

FF, Chrome, IE, Opera ve Safari için eklentileri / 5 eklentileri var.

Kod, kullanıcının tarayıcı tanımak ve yönlendirmek için ihtiyacım olan bir yer "Yükle" düğmesini tıklayın () ilgili eklentiyi indirmek için.

Yardım edebilir misiniz?

CEVAP
24 Mart 2012, CUMARTESİ


Tarayıcı güvenilir algılama için Googling genellikle Kullanıcı Aracısı dizesi kontrol sonuçları. Bu yöntemdeğilönemsiz bu değer parodi çünkü güvenilir.
duck-typing tarayıcılar tarafından tespit etmek için bir yöntem yazdım.

Eğer gerçekten gerekli, tarayıcıya özel talimatları uzantısı yüklemek için gösterdiğin gibi ise sadece tarayıcı algılama yöntemi kullanın.Mümkün olduğunda algılama özelliği kullanın.

Demo: https://jsfiddle.net/wvbdnb8o/

var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
    // Opera 8.0  (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined';   // Firefox 1.0 
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
    // At least Safari 3 : "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera;              // Chrome 1 
var isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6

Not: isIE 6 - 11, halefi, Kenar algılamaz.

Eğer UA koklama olmadan yeni Opera tespit etmek isterseniz, var isOpera20Plus = !!window.opr && opr.addons (as of Opera 20) kullanılabilir.

Güvenilirlik analizi

previous method render motorunun özellikleri (-moz-box-sizing -webkit-transform) tarayıcı algılamak için bağlıydı. Bu önekleri sonunda çökecektir, Algılama Daha da güçlü hale getirmek için, tarayıcı özgü özellikleri geçtim yani:

  • Internet Explorer: JScript Conditional compilation document.documentMode.
  • Firefox: eklenti yüklemek için Firefox API: InstallTrigger
  • Krom: chrome genel nesne, çeşitli özellikleri içeren chrome.webstore belgelenmiş bir nesne gibi.
  • Safari: kurucular kendi adlandırma has Bir desen. Bu belgelenmemiş çünkü listelenen tüm özellikleri en sağlam yöntemdir. Öte yandan, kurucu yeniden adlandırma fayda var, uzun bir süre kalmak olasıdır.
  • Opera: window.opera yıldır var, ama Opera ile Yanıp V8 motoru (Krom tarafından kullanılan) değiştirir ne zaman 22**.
    Güncelleme: Opera 15 has been released, UA dize bit ek olarak Krom gibi görünüyor,"". OPR Bu sürümde chrome nesne (ama chrome.webstore değil) tanımlanır. Opera sert Krom klon için çalışır beri, kullanıcı ajan bu amaçla koklama kullanıyorum.

Başarılı bir şekilde test edilmiştir:

  • 0.8 - 41 Firefox
  • 1.0 - 45 krom
  • Opera 8.0 - 31
  • 3.0 - 8 Safari
  • 6 - 11 (Edge DEĞİL YANİ

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • PlayStation

    PlayStation

    16 Aralık 2005