Bagaimana cara menargetkan hanya Internet Explorer 10 untuk situasi tertentu seperti kode Internet Explorer khusus-Internet atau kode JavaScript khusus Internet Explorer?
Saya mencoba ini, tetapi tidak berhasil:
<!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Internet Explorer 10 mengabaikan komentar bersyarat dan menggunakan <html lang="en" class="no-js">
alih - alih <html class="no-js ie10" lang="en">
.
@cc_on
pernyataan itu . Jadi, untuk mendeteksi apakah IE10 didukung atau tidak, Anda dapat menggunakan kode berikut: <!--[if !IE]><!--><script>if(/*@cc_on!@*/false){document.documentElement.className+=' ie10';}</script><!--<![endif]-->
. (Saya memposting ini sebagai komentar, karena IE masih dalam pengembangan, jadi tidak diketahui apakah rilis final mendukung fitur ini juga)
<script>if(Function('/*@cc_on return document.documentMode===10@*/')()){document.documentElement.className+=' ie10';}</script>
Perbaikan: tidak perlu komentar bersyarat; bekerja bahkan jika komentar stripping kompresi / pemrosesan; tidak ada kelas yang ditambahkan untuk ie11; akan bekerja dengan ie11 berjalan dalam mode kompatibilitas ie10; tidak perlu tag skrip mandiri (hanya dapat ditambahkan ke javascript lain di kepala).
if(document.documentMode) document.documentElement.className+=' ie'+document.documentMode+'mode';
- yang memecahkan 90% masalah (kadang-kadang mode kompatibilitas gagal, dalam hal ini Anda memerlukan tingkat perbaikan lain di atas itu).