Opera 10.00 прикидывается Opera 9.80
It appears that a considerable amount of browser sniffing scripts are not quite ready for this change to double digits, as they detect only the first digit of the user agent string: in such a scenario, Opera 10 is interpreted as Opera 1. This results in sites mistakenly identifying Opera 10 as an unsupported browser, thereby breaking server, as well as client-side scripts.
С Dev.Opera. Краткий перевод: значительная часть скриптов, определяющих версию браузера, не расчитана на версию в две цифры (OMG!), поэтому «Opera/10.00» превращается у них в «Opera/1»: они просто забирают первую цифру.
работа с legacy кодом — ужас, а работа с legacy интернетом — ужас-ужас : (
Я еще не встречал ни одной программы, которая бы к 10й версии не стала толстым обвешанным комбайном, кроме оперы. Она, конечно, не идеал, но и лика своего не утратила.
В этом ВСЯ Опера…
как вариант можно в user-agent записать 9.(9)
поэтому «Opera/10.00» превращается у них в «Opera/1»: они просто забирают первую цифру
Вторую?
По мотивам этой статьи и была нарисована футболка: <a href=» http://pepelsbey.livejournal.com/33646.html%22%3EStop sniffing my browser!</a>
Комментарий для david-m.livejournal.com:
В чём ВСЯ Опера?
Комментарий для e-migrant.livejournal.com:
Первую. Первая цифра там — 1, вторая — 0.
Комментарий для Евгения Степанищева:
В этом. Сначала прикидывалась не тем юзерагентом. Теперь прикидывается не той версией… Всё в неусыпной заботе о разработчиках, ога. Как результат — для правильного определения Оперы разработчикам требуется на десять if-ов больше, чем с любым другим браузером.
Комментарий для david-m.livejournal.com:
Всё в неусыпной работе о пользователях, причём тут разработчики? Итог, для правильно определения «Оперы» нужен ровно один if, вот он:
if (self.opera) alert(’Я опера’);