Execute certain javascript if browser lt ie9

亡梦爱人 提交于 2020-01-13 09:44:10

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!