domingo, 8 de agosto de 2010

Identificando recursos do Browser

A algum tempo eu postei sobre uma classe para identificar o tipo de browser do cliente. Nas minhas andanças pelo manual do php eu encontrei algo que pode tornar tornar aquela ferramenta muito mais simples e robusta e que diria que o php já tinha funções in build tão bacanas e tão pouco conhecidas.

A função mágica é a get_browser. Mas o que ela faz não tem nada de mágico. A função é simples, você passa pra ela o user agent e ela te retorna o array com os parâmetros.
Tá, mas isso com uns substr eu resolvo fácil você pode pensar. Mas talvez leve algum tempo pra você descobrir o que significa cada número em Mozilla/5.0 (Windows; U; Windows NT 6.1; pt-BR; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9. o get_browser tem a vantagem do conhecimento agregado de como extrair do user agent por exemplo se o browser roda js ou se ele é um browser wap.


[browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
[cssversion] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] =>
[vbscript] =>
[javascript] => 1
[javaapplets] => 1
[activexcontrols] =>
[cdf] =>
[aol] =>
[beta] => 1
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[netclr] =>

Bom, tá ai o array de retorno da função, é interessante lembrar dessa função, ela pode ser bem desejada em uma boa aplicação.