不推荐使用jQuery.browser,但是如何使用.support?

前端之家收集整理的这篇文章主要介绍了不推荐使用jQuery.browser,但是如何使用.support?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的网页上,我有这个CSS:
tr:hover {
    background-color: #f0f;
}

除了好的旧IE之外,它在所有浏览器中都能很好地工作.我知道我可以写一些jQuery来添加删除鼠标上/下的类,但我不想让所有其他支持的浏览器有障碍(尽管有点轻微):正确悬停 – 所以我只想将此JS行为应用于本机不支持纯CSS解决方案的浏览器.

当然,我们都知道$.browser已被弃用,而且我们都知道浏览器嗅探是一件坏事,SO上的所有其他问题都有一大堆答案,就像“你不应该检查浏览器,检查功能“,这些在这些人居住的神奇仙境中一切都很好,但我们其他人需要让我们的网站工作,并在IE6和其他浏览器上看起来很好.

对于IE6和IE,$.support看起来像这样. 7:

leadingWhitespace: false
tbody:             false
objectAll:         false
htmlSerialize:     false
style:             false
hrefNormalized:    false
opacity:           false
cssFloat:          false
scriptEval:        false
noCloneEvent:      false
BoxModel:          true

我到底该如何使用这些属性来确定tr:hover是否有效?

是的我知道在这个例子中,它是相当无害的,我可能可以通过不向IE用户提供该功能,或者通过在所有浏览器中模拟它来逃避,但这不是重点.当$.support没有接近替换它时,你应该如何停止使用$.browser?

解决方法

简单的答案 – 在某些情况下你不能,这是我认为你应该使用任何必要的手段来完成工作的情况之一.许多流行的插件(日期选择器和模态脚本)需要这样做(例如iframe shim)或者脚本无法正常用于特定的(尽管是旧的)浏览器.

然而,不是像$.browser那样嗅探userAgent,我会反对检测IE6或使用CC.

<!--[if IE 6]><script src="/js/ie6.js"></script><![endif]-->

您还可以提供一般的IE js文件,然后根据版本在其内部分支.

猜你在找的jQuery相关文章