A Carregar...






17

Ago

Detectar Browser com PHP

Escrito por Gonçalo Martins   
Detectar browser php

Quantas vezes já não tive que aplicar código css só a um browser, ou quantas vezes por algum motivo quis que determinada mensagem só aparece-se aos utilizadores que utilizavam o Browser Opera (por exemplo)? Mas sabia que é possivel detectar Browser com PHP?

 

Optimizar o código do seu website para que trabalhe com os mais variados browsers é extremamente importante. Para aqueles que desenvolvem websites, sabem das dores de cabeça que pode dar desenvolver para o IE6 e 7.


Deixo em abaixo o exemplo das stats do último mês de um website recente meu. Para que você tenha noção da praga que o IE ainda é em certos nichos e a importância de saber "artimanhas" como a que vai ver mais abaixo.

 

browserall
 
browser ie

 

 

Detectar Browser com PHP é extremamente facil. Aplique o seguinte codigo php onde quer que lhe apareça conteúdo destinado unicamente a um determinado browser. Muito útil para o load de Scripts ou Css.

  1. <?php  
  2.  
  3. $browser_cliente = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
  4. if(strpos($browser_cliente, 'Opera') !== false)  
  5. {  
  6.    echo 'codigo para o Opera';  
  7. }  
  8. elseif(strpos($browser_cliente, 'Gecko') !== false)  
  9. {  
  10.    echo 'codigo para o Mozilla/Firefox e browsers baseados no motor Gecko';  
  11. }  
  12. elseif(strpos($browser_cliente, 'MSIE') !== false)  
  13. {  
  14.    echo 'codigo para o IE';  
  15. }  
  16. else  
  17. {  
  18.    echo 'codigo para outro browser';  
  19. }  
  20.  
  21. ?>

 

É possível aplicar o código anterior, unicamente a um browser. Por exemplo se quiser aplicar unicamente ao IE faça:

  1. <?php  
  2.  
  3. $browser_cliente = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
  4. if(strpos($browser_cliente, 'MSIE') !== false)  
  5. {  
  6.    echo 'codigo para o IE';  

  7. ?>

 

No caso do IE se quiser ser ainda mais minucioso, pode utilizar comentários condicionais que só são interpretados pelo IE a correr em Windows. Isto é útil quando se pretende diferenciar código (ex: css) que vai correr no IE6 e código que irá correr no IE7+. O código php ficaria algo do género.

  1. <?php  
  2.  
  3. $browser_cliente = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
  4. if(strpos($browser_cliente, 'MSIE') !== false)  
  5. {  
  6.    echo '
    <!--[if lte IE 6]>
    Codigo para IE6 ou menor!
    <![endif]-->

    <!--[if gte IE 7]>
    Codigo para IE7 ou maior!
    <![endif]-->
    ';  

  7. ?>


cometarios
Trackback(0)

Escreva o seu Comentario
 
  pequeno | maior
 

busy
 
foto Gonçalo Martins

Freelancer, Fan de Desing, Praticante KickBoxing e Blogger nos tempos livres.
Ferramentas WebLouca:   JSPacker | CSSPacker
Têm conhecimentos? Escreva um guest post! +info

Procuro pessoas que possam escrever artigos exclusivos, de forma a variar o estilo do conteúdo apresentado.
Não existe recompensa monetária, mas escrever um artigo de qualidade no WebLouca é uma excelente forma de:

- Se promover na Comunidade;
- Promover o seu blog, website ou negocio;
- Ajudar outros programadores e Designers;

Sinta-se livre para me contactar e expor as suas ideias.

Patrocinadores do Site

pub
pub
pub pub

Subscrever Feed




 

Tens Talento?









Considera escrever um guest post no weblouca!

Procuro pessoas que possam escrever artigos exclusivos, de forma a variar o estilo do conteudo apresentado.
Não existe recompensa monetaria, mas escrever um artigo de qualidade no WebLouca é uma exelente forma de:

- Se promover na Comunidade;
- Promover o seu blog, website ou negocio;
- Ajudar outros programadores e Designers;

Contacte-me e exponha-me as suas ideias.

Links Úteis

Artigos

Ultimos artigos
cms awards 2008Como primeiro post do ano de 2009, e tratando-se isto de um site onde se fala de desenvolvimento...

Flocos neve websitePela altura de Natal e Ano Novo, muitas são as páginas de Internet que colocam efeitos alusivo...

Load das suas Frameworks via GoogleQuantos desenvolvedores web não utilizam Frameworks Javascript para utilizarem efeitos e funçõ...

2 Espectaculares Serviços de Free HostingHoje em dia possuir uma página na Internet está ao alcance de todos. Para construir uma página...

Optimize o seu javascriptO javascript na web dos dias de hoje é uma mais valia, no entanto pode-se tornar também uma dor...

Nuvem de Tags

joomla site websites extensões