Новости | 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 вольный и полноценный разбор довольно сложен.