Вы можете использовать useragent
объект , например:
rule detect_agent {
select when pageview ".*"
pre {
browser_name = useragent:browser_name();
browser_version = useragent:browser_version();
os = useragent:os();
os_type = useragent:os_type();
os_version = useragent:os_version();
full_useragent = useragent:string();
message = <<
<p><strong>Information about your browser:</strong></br />
<em>Browser name:</em> #{browser_name}</br />
<em>Browser version:</em> #{browser_version}</br />
<em>Operating system:</em> #{os}</br />
<em>OS type:</em> #{os_type}</br />
<em>OS version:</em> #{os_version}</br /></p>
<p>#{full_useragent}</p>
>>;
}
append("body", message);
}
Возможно, вам придется выполнить какой-то собственный анализ, поскольку browser_name
и os
могут быть или не быть правильными. Вот как это выглядит в Chrome на Mac (вы можете проверить его, используя этот URL в любом браузере):
Вот как это выглядит в Safari на iPad:
Проведите некоторое исследование того, как выглядят строки UserAgent для браузеров, которые вас интересуют. Затем вы можете использовать функцию useragent:string()
вместе с match()
, чтобы определить, что с ней делать. (Если вам нужен пример того, как это сделать, дайте мне знать.)