jQuery Browser  В jQuery плагин $.browser устарел, и его удалили. Разработчикам советуют использовать для этих целей специальные инструменты типа Modernizr. Беда в том, что браузеров становится очень и очень много. Следить за всеми ними уже не так важно, новые версии jQuery не поддерживают ie6-7, что правильно. 

  По факту - все проекты, где была обновлена библиотека если они использовали этот модуль перестают работать. Можно начать переписывать весь код, под новую версию, а можно поступить иначе: подключить этот плагин вручную, и тогда старый код не придется менять. Просто подключаем к странице файл с плагином и все работает, как прежде. 

Код плагина возьмем из старых версий jQuery. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
(function() {
 
    var matched, browser;
 
// Использовать jQuery.browser не одобряется.
// Подробнее: http://api.jquery.com/jQuery.browser
// jQuery.uaMatch поддерживается для совместимости   
jQuery.uaMatch = function( ua ) {
        ua = ua.toLowerCase();
 
        var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
            /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
            /(msie) ([\w.]+)/.exec( ua ) ||
            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
            [];
 
        return {
            browser: match[ 1 ] || "",
            version: match[ 2 ] || "0"
        };
    };
 
    matched = jQuery.uaMatch( navigator.userAgent );
    browser = {};
 
    if ( matched.browser ) {
        browser[ matched.browser ] = true;
        browser.version = matched.version;
    }
 
// Chrome is Webkit, but Webkit is also Safari.
    if ( browser.chrome ) {
        browser.webkit = true;
    } else if ( browser.webkit ) {
        browser.safari = true;
    }
 
    jQuery.browser = browser;
 
    jQuery.sub = function() {
        function jQuerySub( selector, context ) {
            return new jQuerySub.fn.init( selector, context );
        }
        jQuery.extend( true, jQuerySub, this );
        jQuerySub.superclass = this;
        jQuerySub.fn = jQuerySub.prototype = this();
        jQuerySub.fn.constructor = jQuerySub;
        jQuerySub.sub = this.sub;
        jQuerySub.fn.init = function init( selector, context ) {
            if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
                context = jQuerySub( context );
            }
 
            return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
        };
        jQuerySub.fn.init.prototype = jQuerySub.fn;
        var rootjQuerySub = jQuerySub(document);
        return jQuerySub;
    };
 
})();

Как сказано в комментариях этого кода - Как сказано в комментариях к этому коду - "Использование этого плагина не рекомендуется". Но в старых проектах, где переписывать код под новые реалии не доходят руки, такое решение весьма кстати.

А вот тут http://www.continent.com.ua есть забавная галерейка на jQuery, правда версия 1.7 и подключен странным образом. Опера показывает приведенный к нормальному виду код в DragOnFly, оттуда можно взять и jQuery.browser

Можно добавить этот код, как отдельный файл, а можно схитрить и скопировать его прямо в файл jquery-1.10.1.min.js в самый конец. 

Это лишь одна из несовместимостей новых версий. Чтобы устранить все проще подключить 

<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

Оставлять комментарии могут только зарегистрированные пользователи

Комментарии  

palmas
# palmas 30.06.2013 14:48
Написано:

Как сказано в комментариях этого кода - этот использование этого плашина не рекомендуется.

Следует читать:

Как сказано в комментариях к этому коду - "Использование этого плагина не рекомендуется".
Leroy
# Leroy 30.06.2013 19:05
Спасибо