Обнаружение браузеров, которые не поддерживаются jQuery (2)

Простите, если есть очевидный ответ на этот вопрос, но я не смог его найти. Я подумываю о переходе на jQuery 2 и, хотя меня не интересует поддержка старых браузеров, я бы хотел сказать пользователям с неподдерживаемыми браузерами, что они не могут использовать сайт.

Я вижу здесь (http://blog.jquery.com/2013/03/01/jquery-2-0-beta-2-released/) что вы можете использовать условные комментарии для ветвления файлов .js в разных версиях IE, но я считаю, что в jQuery 2.0 также отсутствует поддержка ряда других браузеров, а не только IE, поэтому я не думаю, что это будет сделано в одиночку [редактировать: это неправильно, см. большую правку ниже].

В идеальном мире я бы переключился на jQuery 2 и затем имел бы одну функцию javascript, которая вызывается, когда jQuery сообщает мне, что он не поддерживает браузер. Есть ли простой способ сделать это, что я скучаю?

Благодарю.

РЕДАКТИРОВАТЬ:

Наткнулся на этот пост (http://bugs.jquery.com/ticket/13404) который направил меня сюда:http://jquery.com/browser-support/, Оказывается, что с точки зрения поддержки, jQuery 2 отличается от jQuery 1.9 только в браузерах IE. Соответственно, возможно, лучше задать вопрос, как определить браузеры, которые не поддерживаются jQuery (в общем, не только версия 2) - я обновил заголовок вопроса.

EDIT2:

Поскольку обнаружение функций является наиболее рекомендуемым подходом к решению этой проблемы, метод поддержки jQuery выглядит здесь уместно (http://api.jquery.com/jQuery.support/). Тем не менее, это также кажется довольно сомнительным, чтобы полагаться (как это может измениться без уведомления).

Я полагаю, это создает ключевой вопрос.Как я могу иметь представление о том, что такое функции jQuery или нет, которые потенциально не поддерживаются старыми браузерами? Например, если кто-то заходит на сайт с 4-старой версией Firefox, я бы не сталЛюбые Идея, какие функции мне нужно проверить. Было бы здорово, если бы jQuery мог предложить какой-либо полностью поддерживаемый тест функций, например, для HTML5:http://html5test.com/

EDIT3:

Итак, с условными инструкциями include (выделенными в ответах ниже и на сайте jQuery) вы можете работать со старыми версиями IE. Однако для других браузеров это немного сложно. Поскольку вы не можете полагаться на то, что jQuery расскажет вам что-нибудь о поддержке браузером функций x, y или z, мой подход заключается в том, чтобы просто запрашивать базовый javascript. Если вы хотите запросить поддержку на основе CSS, вы можете использовать modernizr. Для поддержки на основе javascript, это метод, который я использую для обнаружения SUPER старых версий других браузеров:

function browser_ok() {

    if  (
            ( !Array.prototype.indexOf ) ||
            ( !Array.prototype.forEach ) ||
            ( !String.prototype.indexOf ) ||
            ( !String.prototype.trim ) ||                
            ( !Function.prototype.bind ) ||
            ( !Object.keys ) ||
            ( !Object.create ) ||
            ( !JSON ) ||
            ( !JSON.stringify ) ||
            ( !JSON.stringify.length ) ||
            ( JSON.stringify.length < 3 )
        )
    {
        return false;
    }

    // # local storage support
    // source: http://diveintohtml5.info/storage.html

    try {
        var local_storage_support = ( 'localStorage' in window && window['localStorage'] !== null );
        if ( !local_storage_support ) {
            throw new Error("local_storage_support: failed");
        }
    }
    catch ( e ) {
        return false;
    }

    // # AJAX uploads

    if ( !window.FormData || !window.FileReader ) {
        return false;
    }

    // # HTML data elements

    var body = $("body");
    body.data("browser_support_test",42);
    if ( body.data("browser_support_test") !== 42 ) {
        return false;
    }
    else {
        body.removeData("browser_support_test");
    }

    return true;
}

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

Ответы на вопрос(2)

Ваш ответ на вопрос