问题
I want to execute a certain code in jQuery if the browser is lower than IE9. And yes, i already know about
<!--[if ... IE ]> <![endif]-->
But what i want is to check this condition within the scipt tag and with jQuery document.ready
<script>
$(document).ready(function(){
//code to check if lt ie9
});
</script>
回答1:
You can target older Internet Explorer versions (<= 9) through classes on the <html>
element...
<!--[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]-->
... and then check if <html>
has the class .lt9
or .lt8
— whatever version of Internet Explorer you are targeting:
if($('html').hasClass('lte9')) { /* LTE IE9 */ }
However, I would suggest using Modernizr feature detection instead of checking for a specific browser.
回答2:
Use feature detection instead of browser detection. i.e. http://modernizr.com/
来源:https://stackoverflow.com/questions/18145816/execute-certain-javascript-if-browser-lt-ie9