2013-08-09 26 views
6

Tôi muốn thực thi một mã nhất định trong jQuery nếu trình duyệt thấp hơn IE9. Và có, tôi đã biết vềThực thi javascript nhất định nếu trình duyệt lt ie9

<!--[if ... IE ]> <![endif]--> 

Nhưng những gì tôi muốn là để kiểm tra tình trạng này trong thẻ scipt và với jQuery document.ready

<script> 
    $(document).ready(function(){ 
     //code to check if lt ie9 
    }); 
</script> 
+0

có thể trùng lặp với [Phát hiện phiên bản IE trong Javascript] (http://stackoverflow.com/questions/10964966/detect-ie-version-in-javascript) – JJJ

+0

Bạn có cân nhắc sử dụng tính năng phát hiện thay vì phát hiện trình duyệt không? – Spudley

Trả lời

14

Bạn có thể nhắm mục tiêu các phiên bản Internet Explorer cũ (< = 9) thông qua các lớp học về các yếu tố <html> ...

<!--[if lt IE 7]> <html class="ie ie6 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 7]>  <html class="ie ie7 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 8]>  <html class="ie ie8 lte9 lte8"> <![endif]--> 
<!--[if IE 9]>  <html class="ie ie9 lte9"> <![endif]--> 
<!--[if gt IE 9]> <html> <![endif]--> 
<!--[if !IE]><!--> <html>    <!--<![endif]--> 

... và sau đó kiểm tra xem <html> có lớp .lt9 hoặc .lt8 - bất kỳ phiên bản của Internet Explorer bạn đang nhắm mục tiêu:

if($('html').hasClass('lte9')) { /* LTE IE9 */ } 

Tuy nhiên, tôi sẽ đề nghị sử dụng Modernizr phát hiện tính năng thay vì kiểm tra cho một trình duyệt cụ thể.

+0

Đây là cách tiếp cận không an toàn và tương lai nhất, cho vay chính nó để tìm kiếm IE cả trong JavaScript và CSS * và * được coi là nhận xét HTML của tất cả các trình duyệt khác. –

2

Sử dụng tính năng phát hiện thay vì phát hiện trình duyệt. tức là http://modernizr.com/

+2

Kính gửi _Aegis_, vui lòng tránh liên kết chỉ câu trả lời, vì thông tin có giá trị sẽ belost khi liên kết đã lỗi thời. Thay vào đó, hãy đưa ra mô tả bổ sung về ý tưởng cốt lõi của bạn tại đây. Cám ơn! – Trinimon

+0

@Trimon: Lưu ý;) – Aegis

Các vấn đề liên quan