1. JavaScript / Говнокод #2723

    +170.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    function is_ie8(){
    var ua = navigator.userAgent.toLowerCase();
    var is_opera = ua.indexOf("opera") != -1;
    var is_opera5 = ua.indexOf("opera/5") != -1 || ua.indexOf("opera 5") != -1;
    var is_opera6 = ua.indexOf("opera/6") != -1 || ua.indexOf("opera 6") != -1;
    var is_opera7 = ua.indexOf("opera/7") != -1 || ua.indexOf("opera 7") != -1;
    var is_opera8 = ua.indexOf("opera/8") != -1 || ua.indexOf("opera 8") != -1;
    var is_opera9 = ua.indexOf("opera/9") != -1 || ua.indexOf("opera 9") != -1;
    var is_opera95 = ua.indexOf("opera/9.5") != -1 || ua.indexOf("opera 9.5") != -1;
    var is_opera96 = ua.indexOf("opera/9.6") != -1 || ua.indexOf("opera 9.6") != -1;
    var is_opera95up = is_opera95 || is_opera96;
    
    var is_ff = ua.indexOf("firefox") != -1 && !is_opera;
    var is_gecko = ua.indexOf('gecko') != -1 && !is_opera;
    
    var is_chrome = ua.indexOf('chrome') != -1;
    var is_safari = ua.indexOf('applewebkit') != -1 && !is_chrome;
    
        var is_ie = ua.indexOf("msie") != -1  && !is_opera;
        var is_ie4 = is_ie && ua.indexOf("msie 4") != -1;
        var is_ie5 = is_ie && ua.indexOf("msie 5") != -1;
        var is_ie50 = is_ie && ua.indexOf("msie 5.0") != -1;
        var is_ie55 = is_ie && ua.indexOf("msie 5.5") != -1;
        var is_ie5up = is_ie && !is_ie4;
        var is_ie6 = is_ie && ua.indexOf("msie 6") != -1;
        var is_ie6up = is_ie5up && !is_ie55 && !is_ie5;
        var is_ie7 = is_ie && ua.indexOf("msie 7") != -1;
        var is_ie7up = is_ie6up && !is_ie6;
        var is_ie7down = is_ie7 || is_ie6 || is_ie5 || is_ie4;
    
        var is_ie8 = is_ie && ua.indexOf("msie 8") != -1;
        var is_ie8up = is_ie8 && !is_ie7down;
        if (is_ie && !is_ie8up && !is_ie8) {
            return true;
        }else return false;
    }

    Детектим IE8

    Запостил: deraider, 06 Марта 2010

    Комментарии (15) RSS

    • ой бляяяяя....................
      Ответить
    • Сразу видно, что скопипащено, а что написано своим скудным умишкой.
      Алсо, любая заточка под браузеры - всегда говнокод.
      Ответить
      • вряд ли это заточка, скорее сбор статистики. Кто будет делать сайт под оперу 5 и ие4?
        Ответить
        • Стоп, это не сбор статистики. Только что заметил последние строки))
          Ответить
    • Определять браузер по UA — плохой метод. Нужно проверять по функционалу.
      Ответить
      • Определять ИЕ8 по Опере 5 - плохой метод. Даже если не упоминать определение по функционалу.
        Ответить
    • !-[1,]
      Ответить
      • Не совсем то, заметил
        Ответить
        • да и детектить, опираясь на баг некрасиво
          Ответить
          • Так ведь детектят в первую очередь для обхода багов
            Ответить
            • детектить можно опираясь на баг/глюк, это работает, но никто не даст гарантии что так оно и будет в дальнейшем.
              msie = !-[1,];

              а можно на документированую фичу, оно будет работать всегда
              msie = /*@cc_on  ! @*/false;

              а зачем вон та хрень в шапке, загадка. Вы заметили, что она возвращает? Плюсану пожалуй.
              Ответить
    • /*@cc_on  кто прочел, тот осел  @*/
      Ответить
      • показать все, что скрыточто, мудаебина, с продленки отпустили - решил в каменты посрать ?
        Ответить
        • "в комменты посрать" это метко.. Только коммент там не простой, погуглите по "@cc_on" , а потом прочитайте еще раз, может дойдет.
          Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий