2011-03-04 20 views
20

Bu konuyu araştırdım ve tarayıcı yeteneklerini yapılandırmak için üç farklı yolla karşılaştım: browscap.ini, web.config dosyasındaki browserCaps öğesi ve App_Browsers'daki .browser dosyaları. .Prowser dosyaları en son yol olduğunu düşündüm ama güncel dosyaları bulmuyorum. Ama ben http://browsers.garykeith.com/downloads.asp dan oldukça yeni browscap.ini buldum.En iyi tarayıcı algılama çözümü, ASP.NET 4.0

İlk önceliğim, yaygın tarayıcıları ziyaretçi istatistiklerinden hariç tutmaktır. İkinci öncelik, tarayıcı ve işletim sistemini doğru sürümlerle (ör. Opera 11/Win7) tespit etmektir.

Kullanabileceğim kütüphaneler var mı? Browscap.ini hala geçerli bir yol mu ve sistem dosyalarına erişim olmadan kullanmak mümkün mü? Güncel ".browser" dosyalarını nerede bulabilirim?

+0

http://browsers.garykeith.com/downloads.asp bulunamadı – Kiquenet

cevap

7

http://user-agent-string.info/ numaralı telefondan bir kullanıcı aracısı ayrıcalığı buldum ve amacım için yeterince iyi görünüyor.

+0

ücretsiz, tüm kaynak kodu örnek kullanarak değil mi? – Kiquenet

8

fazla bilgi: http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx Bu kontrol ettiniz:

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
    string s = "Browser Capabilities\n" 
     + "Type = "     + browser.Type + "\n" 
     + "Name = "     + browser.Browser + "\n" 
     + "Version = "     + browser.Version + "\n" 
     + "Major Version = "   + browser.MajorVersion + "\n" 
     + "Minor Version = "   + browser.MinorVersion + "\n" 
     + "Platform = "    + browser.Platform + "\n" 
     + "Is Beta = "     + browser.Beta + "\n" 
     + "Is Crawler = "    + browser.Crawler + "\n" 
     + "Is AOL = "     + browser.AOL + "\n" 
     + "Is Win16 = "    + browser.Win16 + "\n" 
     + "Is Win32 = "    + browser.Win32 + "\n" 
     + "Supports Frames = "   + browser.Frames + "\n" 
     + "Supports Tables = "   + browser.Tables + "\n" 
     + "Supports Cookies = "  + browser.Cookies + "\n" 
     + "Supports VBScript = "  + browser.VBScript + "\n" 
     + "Supports JavaScript = "  + 
      browser.EcmaScriptVersion.ToString() + "\n" 
     + "Supports Java Applets = " + browser.JavaApplets + "\n" 
     + "Supports ActiveX Controls = " + browser.ActiveXControls 
       + "\n" 
     + "Supports JavaScript Version = " + 
      browser["JavaScriptVersion"] + "\n"; 

    TextBox1.Text = s; 
+8

Talebi kullanıyorum. Tarayıcı tarayıcı bilgilerini almak için, ancak güncel yapılandırma dosyalarına ihtiyacım var. Opera 11/Win7 ile test ettiğimde Opera 9.80/WinNT veriyor. –

-1

Şimdiye kadar istemci tarafı tespiti için http://api.jquery.com/jQuery.browser/ kullandım.

+3

Bunu kullanmanız önerilmez. Bu, jQuery resmi Dokümanlar'dan: "Bu özelliği kullanmamanızı öneririz, lütfen bunun yerine özellik tespiti kullanmayı deneyin (jQuery.support'a bakın.) JQuery.browser, jQuery'nin gelecekteki sürümlerinde bir eklentiye taşınabilir." – Jonathan

+0

Gerçekten de, v1.3'te kullanımdan kaldırıldı ve tamamen v1.9'da kaldırıldı. –

3

Sadece başka kimsenin karanlık yolu, hatta jQuery ekibi jQuery.browser nesne KULLANMAYIN tavsiye farkında olması iner:

"$ .browser mülkiyet jQuery 1.3 önerilmiyor"
0

En iyi yanıt, tarayıcı algılama değil, özellik tespiti! Bu özellikle Firefox & Chrome'un birkaç ay yayınladığı ve mobil tarayıcı kullanımının arttığı günlerde doğrudur. İlgilendiğiniz özellikleri algılamak için Modernizr (http://Modernizr.com) veya eşdeğer bir kitaplık kullanın.

+4

Tarayıcının en son css veya html5 hilelerini destekleyip desteklemediğini bilmem. C# /. Net programlama hakkında yazıyorum ve hedef kitle muhtemelen Windows ve kanama kenarı tarayıcısına sahip olacak. İlgilenenler neler olduğunu öğrenmek için merak ediyorum. –

+0

Tarayıcı hataları olduğu sürece, kullanıcıların hangi tarayıcıyı kullandığını bilmek istiyorum. Bir müşteri, sayfanın bozuk olduğunu söylemesi için beni arar veya e-posta gönderirse, tekrar edip edemeyeceğimi görmek için tarayıcılarını bilmek isterim. Telefon bilgilerini bu telefondan almayı denemek yerine tarayıcı sürümünü önceden tespit edip günlüğe kaydetmeyi tercih ederim. – Chris

İlgili konular