【问题标题】:Detect IE6 with Jquery用 Jquery 检测 IE6
【发布时间】:2009-07-26 12:41:03
【问题描述】:

我正在尝试确定如何在 jQuery 1.3.X 中检测 IE 浏览器 - 现在在你们都写“它在 1.3.x 中已弃用!”之前- 我知道这个。我有这个代码

if (jQuery.browser.msie && jQuery.browser.version == "6.0") {
  alert ("This is less than IE7");
} else {
  alert ("This is greater than IE7");
}

在 IE8 - IE6(怪癖)中运行它时,IE7 和 IE8 都返回“小于 IE7”。谁能帮助我正确地确定这一点使用 jquery 吗? (请注意:使用 jquery

编辑:我试图基本上将 IE6 中的位置元素更改为“绝对”,并为 IE7 和 IE8 使用“固定”。在不检测浏览器的情况下不确定如何执行此操作?

Edit2:似乎这样的方法可行?

   if ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined)) {
        alert ("This is not IE6");
       } else {
        alert ("This is greater than IE6"); 
       }

【问题讨论】:

  • 您在这里的最终目标是什么? jQuery 的全部意义在于抽象出这种东西。检查功能比检查特定浏览器要好。
  • 嘿 draemon - 我正在尝试将 IE6 中的位置元素更改为“绝对”,并为 IE7 和 IE8 使用“固定”。在不检测浏览器的情况下不确定如何执行此操作?
  • 我提供了一种依赖对象检测的方法。
  • 我即将编辑您的代码,在 else 块之前放置一个右大括号。这不是问题吗?
  • 嘿,谢谢斯昆利夫。不,抱歉刚刚错过了粘贴道歉。它不再在 IE 中工作这个代码 - 所以只是希望有人能告诉我如何解决这个问题? :)

标签: jquery internet-explorer browser


【解决方案1】:

你总是可以用 html 或 css 来做这种事情......为什么用 jquery 来做呢?

【讨论】:

  • 顺便说一下,他说的是条件 cmets 或 css hack。有条件的 cmets 是这里的路。
  • 更多关于条件 cmets 的信息:quirksmode.org/css/condcom.html
【解决方案2】:

上面更新 #2 中的方法,即检查窗口上的 XMLHttpRequest 成员,在某些其他库具有 polyfill 支持的情况下可能会失败。最好的办法是使用条件 cmets,this page 有一个很好的解释。

希望有帮助!干杯。

【讨论】:

    【解决方案3】:
    if ($.browser.msie  && parseInt($.browser.version, 10) < 7) {
      alert('This is less than IE7');  // just alerting what you said in question
    } else {
      alert('Better than IE6'); // What if I'm not IE?
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-21
      • 2010-10-09
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 2011-06-12
      • 2011-06-26
      相关资源
      最近更新 更多