使用appCodeName检测浏览器并加载一些css

时间:2014-02-12 17:48:18

标签: javascript jquery html css

我想检测浏览器&然后我需要根据浏览器加载css文件。为此我使用以下javascript.But问题是我使用它的任何浏览器显示Mozilla作为代码名称。

<script type="text/javascript">
browsername=navigator.appCodeName;
alert(browsername); //<- always alert Mozilla if i run in IE or Safari
</script>

第二件事是如果浏览器是IE,那么我需要加载一些CSS。

4 个答案:

答案 0 :(得分:0)

您可以使用条件注释来加载CSS文件:

<p class="accent">
<!--[if IE]>
According to the conditional comment this is IE<br />
<![endif]-->
<!--[if IE 6]>
According to the conditional comment this is IE 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is IE 7<br />
<![endif]-->
<!--[if IE 8]>
According to the conditional comment this is IE 8<br />
<![endif]-->
<!--[if IE 9]>
According to the conditional comment this is IE 9<br />
<![endif]-->
<!--[if gte IE 8]>
According to the conditional comment this is IE 8 or higher<br />
<![endif]-->
<!--[if lt IE 9]>
According to the conditional comment this is IE lower than 9<br />
<![endif]-->
<!--[if lte IE 7]>
According to the conditional comment this is IE lower or equal to 7<br />
<![endif]-->
<!--[if gt IE 6]>
According to the conditional comment this is IE greater than 6<br />
<![endif]-->
<!--[if !IE]> -->
According to the conditional comment this is not IE 5-9<br />
<!-- <![endif]-->
</p>

以下是使用JavaScript检测浏览器的一些代码:

navigator.sayswho = (function () {
    var N = navigator.appName,
        ua = navigator.userAgent,
        tem;
    var M = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
    if (M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] = tem[1];
    M = M ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];

    return M;
})();

示例:http://jsfiddle.net/32cj6/

答案 1 :(得分:0)

还有用于检查IE的html标签:

    <!--[if IE]>
         <link rel="stylesheet" type="text/css" href="internet_explorer_styling.css" />
    <![endif]-->

当然你也可以使用javascript。使用以下代码:

navigator.userAgent

navigator.appVersion

如果您使用javascript,那么您应该检查其中一个字符串是否包含chrome,firefox,opera或ie(ie = msie)

希望这会对你有所帮助!

祝你好运!

答案 2 :(得分:0)

“有些浏览器误认为自己绕过网站测试”:http://www.w3schools.com/js/js_window_navigator.asp

试着看看这个:
Browser detection in JavaScript?

要获得IE特定的css,那么您可以使用内联css或链接样式表在头部执行类似的操作:

<!--[if IE]>
  <style type="text/css">
    .selector {
      color: #000;
    }
  </style>
  <link rel="stylesheet" href="IEstyle.css">
<![endif]-->

你也可以做特定的IE版本,例如[如果lte IE9]将小于或等于IE9。 [if gt IE9]如果大于IE9,依此类推。

答案 3 :(得分:0)

我用document.documentMode检查IE!= undefined document.documentMode显示IE正在运行的版本。 但你也可以寻找(ScriptEngine()==“JScript”) 有很多IE的迹象 例如,Enumerator在JScripts中定义,它允许浏览数据文件系统 ActiveXObject在JScript中定义

if(typeof Enumerator ==“function”&amp;&amp; typeof ActiveXObject ==“function”)你有IE等等n