【问题标题】:Identify IE8 and IE9 in java script function在javascript函数中识别IE8和IE9
【发布时间】:2012-10-25 16:10:26
【问题描述】:

如何识别正在运行的 Internet Explorer 版本是 IE7、IE8 还是 IE9。据此,我需要使用 java 脚本函数调用 css 样式。请编写该javascript代码。

帮帮我

【问题讨论】:

  • 我假设您这样做是为了确定浏览器是否支持各种功能。最好检测特征的存在,而不是浏览器本身:modernizr.com
  • 为什么需要用javascript来做?这是一项任务还是您实际上是在尝试解决现实世界的问题?如果是这样,那个的实际问题是什么?在 IE 中处理 CSS 的正确方法不是使用 javascript。
  • 我想识别IE浏览器版本是IE8还是IE9来相应地调用css文件。

标签: javascript internet-explorer cross-browser


【解决方案1】:

如果您的目标纯粹是为特定版本的 Internet Explorer 包含特定样式表,您希望使用条件包含:

HTML

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

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

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

等等。

【讨论】:

    【解决方案2】:

    通常检测特征是最好的,但在这种特殊情况下一个相当好的点是检测条件 cmets 的存在,它仅由 IE 支持。

    这是我通常做的:

    var div = document.createElement("div"), IE;
    div.innerHTML = "<!--[if IE 5]>5<![endif]--><!--[if IE 5.0]>5.0<![endif]--><!--[if IE 5.5]>5.5<![endif]-->\
        <!--[if IE 6]>6<![endif]--><!--[if IE 7]>7<![endif]--><!--[if IE 8]>8<![endif]--><!--[if IE 9]>9<![endif]-->";
    IE = d.firstChild && d.firstChild.nodeType===3 ? +d.innerHTML : false;
    

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 1970-01-01
      • 2011-06-07
      • 2014-12-06
      • 2013-04-01
      • 2011-07-10
      • 2017-06-04
      • 2015-02-06
      • 2012-06-05
      相关资源
      最近更新 更多