2011-10-14 28 views
5

Web sayfamda bir tarayıcı desteği özelliğini uygulamaya çalışıyorum. Firefox 3.6 için çalışıyor, ancak bazı nedenlerle IE 8'in userAgent'ı yanlış bir değer veriyor.IE 8 navigator.userAgent neden MSIE 7.0 döndürüyor?

Burada IE8'de 'yerel' bir javascript kodu çalıştırdığımda, navigator.userAgent doğru bilgileri döndürür (MSIE 8.0). Ancak bu betiği bir sunucuda çalıştırdığımda, IE 8 tarayıcısında MSIE 7.0'ı döndürür.

Herhangi bir fikrin var mı?

+2

, yanlış yapıyoruz ve böyle sorunların bir grup var olacak. özellik tespiti kullanmalısınız, fakat aynı zamanda ie7 ve ie8 için sadece koşullu yorumlar oluşturabilir ve neler olup bittiğini görmek için biraz css değiştirebilirsiniz. – albert

+1

Tarayıcı algılamasının tersine özellik algılama özelliğini kullanmak daha sağlam olurdu, orada çok sayıda kütüphane var, [bu Google arama] 'yı deneyin (http://www.google.com.tr/webhp?sourceid=chrome-instant&ie=UTF -8 iyon = 1 ve kuzeyinde = 1 # sclient = psi-ab hl = tr & güvenli = off kuzeyinde = 1 ve site = webhp ve kaynak = hp ve q = javaScript + özellik + algılama + kütüphane ve PBX = 1 ve OQ = javaScript + özelliği + tespiti + kitaplık ve aq = f & aqi = q-w1 ve aql = 1 ve gs_sm = e ve gs_upl = 57834l58466l1l58566l8l4l0l0l0l0l253l658l1.1.2l4l0 & bav = on.2, veya.r_gc.r_pw., Cf.osb & fp = 64c9fa8ed75e2609 & iyon = 1 & biw = 1680 & bih = 865) – Clive

+1

Sunucu yerel ağınızda mı yoksa internette mi? IE8, varsayılan olarak, IE7 [intranet sitelerine göz atarken] gibi davranır (http://msdn.microsoft.com/en-us/library/cc288325%28v=vs.85%29.aspx). – robertc

cevap

2

Microsoft bu sayfayı sağlar. F12 geliştirici araçları Internet Explorer, kullanıcı aracısı dizesi sürüm belirteci tarayıcı modunu değiştirmek için kullanılır

belirteç

Trident tarayıcı önceki bir versiyonu gibi görünüyor böylece görünür şekilde değiştirilir. Bu, tarayıcıya özel içeriğin Internet Explorer'a sunulmasına izin vermek için yapılır ve genellikle yalnızca web sitelerinin tarayıcının geçerli sürümlerini yansıtacak şekilde güncelleştirilmediğinde gereklidir.

Bu olduğunda, kullanıcı aracı dizesine bir Trident belirteci eklenir. Bu belirteç, mevcut tarayıcı modundan bağımsız olarak tarayıcının sürümünü tanımlamanızı sağlayan bir sürüm numarası içerir.

DAHA: Eğer kullanıcı aracıları koklama eğer http://msdn.microsoft.com/en-us/library/ms537503.aspx

4

IE7 modunda çalışmıyor olduğunuzdan emin misiniz? Geliştirici ayarlarında bir yeri değiştirebilirsiniz (F12, sanırım). biri IE8 değil 7.

+0

"uyumluluk modu" kastediyorsunuz. Evet, büyük olasılıkla, javascriptte, Douglas Crockfords'ın kütüphanesini kullanarak bunu tespit edebilirsiniz, ancak sunucuda bir şansa sahip değilsiniz. – TMS