如何修复jquery 1.10+的$ .browser代码?

时间:2013-11-22 20:36:59

标签: jquery

我正在尝试升级一段在jquery 1.10中无效的旧代码,因为浏览器检查已被删除。我不想使用迁移插件。

我如何才能做到以下两行?

var pos = ($.browser.msie && parseInt($.browser.version) <= 8) ? 'absolute' : 'fixed';

if ($.browser.msie && parseInt($.browser.version) <= 6) 
top = top + $(window).scrollTop();

我正试图从我的导演那里获得指示停止支持IE 7,但是直到那时我需要找到一种方法让第二段代码再次正常工作。

1 个答案:

答案 0 :(得分:0)

我在@John的另一篇文章中找到了这个,这是一个可行的解决方案吗?

作者:@John参与此post

// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
//     ie === undefined
// If you're in IE (>=5) then you can determine which version:
//     ie === 7; // IE7
// Thus, to detect IE:
//     if (ie) {}
// And to detect the version:
//     ie === 6 // IE6
//     ie > 7 // IE8, IE9 ...
//     ie < 9 // Anything less than IE9
// ----------------------------------------------------------

// UPDATE: Now using Live NodeList idea from @jdalton

var ie = (function(){

    var undef,
        v = 3,
        div = document.createElement('div'),
        all = div.getElementsByTagName('i');

    while (
        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
        all[0]
    );

    return v > 4 ? v : undef;

}());