| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 12.08.2013 00:48 / 12.08.2013 00:50
Если вам известен маркер, то проще всего искать по нему.^if(^agent.pos[Windows NT 6.1] > -1){…}Если нужно не просто проверить платформу, а работать с каждым сегментом, то нужно разобрать заголовок на части и проверять каждую. @detect[agent][user_agent]
$result[^hash::create[]]
$user_agent[^agent.match[…;i]]
^if($user_agent){
$result.product[
$.name[$user_agent.1]
$.version[$user_agent.2]
]
$result.os[
$.name[$user_agent.3]
$.version[$user_agent.4]
]
$result.layout[
$.engine[$user_agent.5]
$.version[$user_agent.6]
]
$result.browser[
$.name[$user_agent.7]
$.version[$user_agent.8]
]
…
}
@some_method[]
…
$user_agent[^detect[$agent]]
# проверки
^swith[$user_agent.os.version]{
^case[6.0]{Vista}
^case[6.1]{7}
…
}Учтите, что формат User-Agent вольный и полноценный разбор довольно сложен.