Làm cách nào để tôi chỉ nhắm mục tiêu Internet Explorer 10 cho các tình huống nhất định như mã JavaScript dành riêng cho Internet Explorer hoặc mã dành riêng cho Internet Explorer?
Tôi đã thử điều này, nhưng nó không hoạt động:
<!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Internet Explorer 10 bỏ qua các bình luận có điều kiện và sử dụng <html lang="en" class="no-js">
thay vì <html class="no-js ie10" lang="en">
.
@cc_on
tuyên bố . Vì vậy, để phát hiện xem IE10 có được hỗ trợ hay không, bạn có thể sử dụng mã sau : <!--[if !IE]><!--><script>if(/*@cc_on!@*/false){document.documentElement.className+=' ie10';}</script><!--<![endif]-->
. (Tôi đã đăng bài này dưới dạng bình luận, vì IE vẫn đang trong quá trình phát triển, vì vậy không biết liệu bản phát hành cuối cùng có hỗ trợ tính năng này hay không)
<script>if(Function('/*@cc_on return document.documentMode===10@*/')()){document.documentElement.className+=' ie10';}</script>
cải tiến : Cải tiến: không cần bình luận có điều kiện; hoạt động ngay cả khi bình luận tước nén / xử lý; không có lớp nào được thêm cho eg11; sẽ hoạt động với eg11 chạy ở chế độ tương thích eg10; không cần thẻ script độc lập (chỉ có thể được thêm vào javascript khác trong đầu).
if(document.documentMode) document.documentElement.className+=' ie'+document.documentMode+'mode';
- giải quyết 90% các vấn đề (đôi khi các chế độ tương thích không thành công, trong trường hợp đó bạn cần một mức sửa chữa khác ở trên đó).