<rmcreative>

RSS

IE7 strikes back

23 июля 2008

Джеми Томсон обнаружил неприятную штуку в IE7. Ещё более неприятную, чем недавнее включение «6.0» в строку user agent.

Если строка user agent длиннее 260 символов, она магическим образом превращается в «Mozilla/4.0 (compatible; MSIE 6.0)».

Чем это плохо? В том же jQuery и во многих других решениях для определения браузера используется как раз строчка user agent, поэтому некоторые скрипты, например ThickBox, начинают магическим образом глючить.

А ведь такое переполнение вполне реально! Все кому не лень этот самый user agent удлиняют. Например, Mail.ru Agent и другие тулбары, а также различное вредоносное ПО…

В общем, на user agent надеяться нельзя. Просто проверяйте, доступен ли функционал перед его использованием.

Комментарии RSS

  1. №470
    Octane
    Octane 23 июля 2008 г., 21:59:33

    мда... последнее время стал задумываться о переходе от jQuery на какой-нибудь другой фреймворк, догадываюсь, он еще из-за тупого определения браузеров не работает в старых операх, потому что в них юзер агент по умолчанию, как у старых версий IE :-/

  2. №472
    Sam
    Sam 24 июля 2008 г., 13:40:34

    На самом деле для jQuery это легко фиксится и бросать такой удобный фреймворк из-за такого бага не стоит… хотя альтернативы тоже неплохие.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.