2012-04-21 13 views
16

Eski tarayıcıları denetlemek için herhangi bir komut dosyası yoktur. Google Chrome 15Javascript kontrol tarayıcısı

  1. firefox 3.6 izin verin veya yukarı

  2. İzin ve yukarı

  3. Safari 5 izin verin veya yukarı

  4. Blok IE ve opera: Bu kriterleri takip etmek zorunda kalacak

  5. Diğer tüm tarayıcıları engelle

+6

gibi userAgent özelliğini kullanabilirsiniz. Bakınız, örneğin, [Modernirz] (http://modernizr.com/). Özellik algılama için – Sirko

+0

Seconding Sirko. İsim ve sürüm numarası eklemek istiyorsanız, yalnızca kullanıcının tarayıcısını bulduğunuzda ihtiyaç duyduğunuz bir özellik bulunmadığında önerilerde bulunmak gerekir. – searlea

+5

IE ve Opera'yı engelliyor mu? OMG –

cevap

35

Bunun için navigator nesnesini kullanabilir ve bu size Tarayıcı tespiti üzerine özellik algılama tercih etmeliyiz

if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6){//Firefox 
//Allow 
}else if (navigator.userAgent.indexOf('Chrome') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Chrome') + 7).split(' ')[0]) >= 15){//Chrome 
//Allow 
}else if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Version') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Version') + 8).split(' ')[0]) >= 5){//Safari 
//Allow 
}else{ 
// Block 
} 
+1

Teşekkürler, bu harika –

+0

@JackRenshaw .. ve tarayıcılar diğer gibi maskelenebilir ve hatta javascript bile kapatabilirsiniz beri tamamen işe yaramaz. –

1

@Sirko'ya katılıyorum. Tercihen, , yerine özellik algılama özelliğini kullanmalısınız. Modernizr'a bir alternatif jQuery'nin $.support() işlevi olacaktır. tam olarak aynı şey değildir, ancak ihtiyaçlarınızı karşılayabilir.

Tarayıcı algılamasında ısrar ederseniz, jQuery'nin $.browser() işlevini kullanarak kendi komut dosyanızı yazabilirsiniz.

+0

Bu sorun, IE ve opera'nın en son sürümü gibi bazı modern tarayıcıların JS'nin HTML blokları ile gizlenmesine izin vermemesi sorunudur. –

+1

Ne? Lütfen detaylandırır mısınız? –

+4

Sadece bir yorum burada, $ .browser jQuery 1.9.0 kaldırıldı 1.9.0 –

İlgili konular