SORU
28 NİSAN 2011, PERŞEMBE


JavaScript: 9 tespit'IE 7 veya IE8 uyumluluk modunda s miyim?

Eğer IE 7 veya IE8 olarak kullanıcı Aracısı dizesi üzerinden kendini tanımlayan bu tarayıcı gerçekten bu tarayıcılar, Internet Explorer 9 veya 7 veya 8 uyumluluk modunda olup olmadığını bilmek istiyorum.

Kullanıcı gördüğüm kadarıyla ajan dize 7 için uyumluluk 9 modu, gerçek bir IE 7 aynı dize sağlar. Ekstra bir özellik/çeşidi/"eğer" kılık değiştirmiş 9? gerçekten olup olmadığını görmek için test edebileceğim bir nesne yok

Belge modu senaryomu yüklenen sayfa tuhaflıklar zorlama veya belirli bir ayar zorlama olabilir ya da yardım etmiyordur herhalde.

Internet Explorer 9 var ve test edilebilir 7, 8 veya 9 modunda olsun, ne olursa olsun bir mal olacağını umuyorum.


Düzenlenmiş ekleyin

TAMAM, şimdi sorun nereye gittiğimi görüyorum. ""Ve IE8 ve IE 7 için geçiş ve bu "IE8 uyumluluk modu" ve "IE 7 uyumluluk modu" sırasıyla. düşünerek açılan Tarayıcı kullanıyordum Bu tabii ki doğru değildir. Geliştirici Araçları' Tarayıcı modu gerçekten "" o eski tarayıcılar, çok orijinal useragent dizeleri bildirilmesi daha doğru olur. gibi geçiyor

Ben gidiyorum tarayıcı modunda Internet Explorer 9 veya Internet Explorer 9 uyumluluk ve denemek belge modu açılır türevleri yerine, ben aslında "Trident/5.0" mevcut tüm 8 kombinasyonu (iki tarayıcı modları ve 4 belge modu). Ben sadece gerçekten (taklit) IE 7 ve IE8 çünkü tarayıcı modu IE 7 ve IE8 seçme sakınmak gerekir.

Bir sayfa, olmayan geliştirici, bir kullanıcı, bir meta etiketi veya Microsoft uyumluluk Listesi Bu tanımlanamaz duruma 9 koymak mümkün olacak bir yolu yok.

Sadece if(navigator.userAgent.indexOf("Trident/5")>-1) kullanma yeterli olacaktır.

Merak etme, Bu stiller, biçimlendirme, mantık veya sayfa içeriği için değil. Bu işler için algılama özelliği kullanın. Ben sadece 9 (ne olursa olsun) tespit ve olmayan Sayfa İçeriği bir karar vermek gerekir.

Öneriler ve bağlantılar ile cevap doğru bana direksiyon için teşekkürler.

CEVAP
28 NİSAN 2011, PERŞEMBE


Aslında kullanıcı Aracısı dizesi bu farklı IE sürümleri arasında ayrım yapmak için en iyi yollarından biri olacak 7 için uyumluluk modunda Çalıştır, ne zaman Internet Explorer 9 için farklıdır.

Introducing IE9’s User Agent String:

Benzer IE8, IE9 Uyumluluk için Görünüm 7 Standartlarına moda harita, ve 9. zaman dize UA Uyumluluk Görünümü olacak:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)

, Internet Explorer 9 Uyumluluk Görünümü raporlarında kendisi gibi 7 Uygulama ile sürüm numarası (Mozilla/4.0) sürüm token (MSIE 7.0). Bu yapılır uyumluluk için.Bir artan ‘Trident 4.0/’ dan Trident simgesi ‘Trident 5.0/’, web siteleri sağlar 9 çalışan arasında ayırım içinde Uyumluluğu Görünüm ve IE8 çalışan Çekişmesi içinde Görünüm.

(vurgu tarafımdan eklenmiştir). Kullanıcı Aracısı dizesi aynı raporları kendisi olmak "Mozilla/4.0" ve MSIE 7.0, ama 9 daima yanında olacağım Trident/5.0 - olsun farketmez diyor MSIE 7.0, MSIE 8.0 veya MSIE 9.0.

Bu büyük derleme kontrol etmelisiniz aslında: Browser ID (User-Agent) Strings veya daha iyi useragentstrings.com

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CNET

    CNET

    5 Mayıs 2006
  • monkophile

    monkophile

    25 Temmuz 2007
  • superflyy88

    superflyy88

    8 ŞUBAT 2009