Internet Explorer'a özgü CSS veya Internet Explorer'a özgü JavaScript kodu gibi belirli durumlar için yalnızca Internet Explorer 10'u nasıl hedeflerim?
Bunu denedim, ama çalışmıyor:
<!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Internet Explorer 10 koşullu yorumları yok sayar ve <html lang="en" class="no-js">
yerine kullanır <html class="no-js ie10" lang="en">
.
@cc_on
ifadeyi hala desteklemektedir . Yani, aşağıdaki kodu kullanabilirsiniz IE10 desteklenen olup olmadığını tespit etmek için: <!--[if !IE]><!--><script>if(/*@cc_on!@*/false){document.documentElement.className+=' ie10';}</script><!--<![endif]-->
. (IE hala geliştirme aşamasında olduğu için bunu bir yorum olarak yayınladım, bu yüzden son sürümün de bu özelliği destekleyip desteklemediği bilinmemektedir)
<script>if(Function('/*@cc_on return document.documentMode===10@*/')()){document.documentElement.className+=' ie10';}</script>
İyileştirmeler: koşullu yorumlara gerek yoktur; yorum soyma sıkıştırma / işleme bile çalışır; ie11 için sınıf eklenmedi; ie10 uyumluluk modunda çalışan ie11 ile çalışır; bağımsız komut dosyası etiketine ihtiyaç duymaz (sadece kafadaki diğer javascriptlere eklenebilir).
if(document.documentMode) document.documentElement.className+=' ie'+document.documentMode+'mode';
- sorunların% 90'ını çözer (bazen uyumluluk modları başarısız olur, bu durumda bunun üzerinde başka bir düzeltme düzeyine ihtiyacınız vardır).