1

我的应用程序支持的最低浏览器是 IE 7。我有一些在 IE 8 中运行良好的代码,但在 IE 7 中需要避免使用。这里有大量问题/答案表明如何检测 IE 7.browser但没有这表明如何仅检测 IE 7 与.support. 详细说明.support的 jQuery 页面没有明确说明哪些浏览器中存在哪些受支持的功能,因此在那里没有得到太多帮助。

4

3 回答 3

3

他们弃用 .browser 的原因是试图鼓励我们测试功能而不是浏览器。

但是..如果您仍然需要...

你有没有考虑过使用 H5BP 的条件<html>技巧然后只是测试它?标题:

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

然后在 jQuery 中,

$(function() {
    if( !$('html').hasClass('lt-ie8') ) {
        // Do stuff
    }
});
于 2012-10-17T22:40:21.043 回答
0

确定您在 IE8 中定位的功能并使用“功能检测”来查看它们是否可用(通过测试 feture 的功能)几乎总是更好,如果它们不可用,则使用备用代码(对于 IE7 或任何其他没有该功能的浏览器)。

如果您提供有关在 IE7 中不起作用的功能的更多详细信息,我们可以通过功能检测而不是浏览器版本检测来帮助您解决此问题。

于 2012-10-17T22:37:09.097 回答
0

你看过 $.browser 的 API 吗?

http://api.jquery.com/jQuery.browser/#jQuery-browser-version2

但是它被弃用是有原因的,这是一件坏事。您应该使用特征检测进行嗅探。

于 2012-10-17T23:25:53.060 回答