![]() |
Определение броузера/платформы посетителя
Misha [18 октября 2005]
Иногда требуется выполнять какие-либо действия, различные для разных броузеров. В этом случае требуется определить, каким броузером и с какой платформы пришел посетитель.
Самый простой способ сделать это — проанализировать значение переменной окружения $env:HTTP_USER_AGENT.
Класс detect имеет два статических метода (os и agent), которые анализируют переданную им строку с HTTP_USER_AGENT и возвращают хеши, в которых содержится информация о броузере или платформе.
Пример использования класса detect:
@main[] ^use[Detect.p] $hPlatform[^Detect:os[$env:HTTP_USER_AGENT]] $hBrowser[^Detect:agent[$env:HTTP_USER_AGENT]] OS: $hPlatform.name<br /> Browser: $hBrowser.name ${hBrowser.ver}.${hBrowser.subver}Скачать класс:
Detect.zip (29.03.2007 570 байт)
Архив файла с классом DetectДревний оператор implode, который в сущности делает тоже самое, только сбоку. При вызове он записывает в глобальные переменные $MAIN:browser, $MAIN:browser_ver, $MAIN:browser_subver и $MAIN:platform информацию о броузере и платформе посетителя, откуда её потом можно достать.
Пример использования оператора implode:
@main[] ^use[implode.p] ^detectBrowser[] OS: $MAIN:platform<br /> Browser: $MAIN:browser ${MAIN:browser_ver}.${MAIN:browser_subver}Скачать:
implode.zip (03.12.2002 480 байт)
Архив файла с оператором implodeСледует заметить, что следует стараться всячески избегать использования этих методов и выдавать одинаковый и универсальный html для всех броузеров, а подобные проверки осуществлять на стороне броузера средствами javascript.
| E-mail: mailbox@parser.ru | Copyright © 1997–2011 | Студия Артемия Лебедева |