| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 15.10.2005 14:12 / 15.10.2005 14:20
вот ещё вариант:@CLASS
detect
@auto[]
$browser[^table::create{name
opera
msie
mozilla
netscape
}]
#end @auto[]
@_get_ver[user_agent;name]
$result[]
^user_agent.match[($name).(\d+)(?:\.(\d+))?][ix]{
$result[
$.name[$match.1]
$.ver($match.2)
$.subver(^match.3.int(0))
]
}
#end @_get_ver[]
@os[user_agent]
^if(def $user_agent){
^if(^user_agent.match[mac][i]){
$result[mac]
}{
^if(^user_agent.match[win][i]){
$result[win]
}{
$result[unix]
}
}
}{
$result[]
}
#end @os[]
@agent[user_agent]
^if(def $user_agent){
^browser.menu{
^if(!def $result){
$result[^_get_ver[$user_agent;$browser.name]]
}
}
}
^if(!def $result){
$result[
$.name[other]
$.ver(0)
$.subver(0)
]
}
#end @agent[]index.html @main[]
^use[detect.p]
OS: ^detect:os[$env:HTTP_USER_AGENT]<br />
$browser[^detect:agent[$env:HTTP_USER_AGENT]]
Browser: $browser.name ${browser.ver}.${browser.subver}надо будет привести в нормальный вид метод @os[], проверить не ошибся-ли я где и заменить код в примерах :)