15 de maio de 2013

Artigo Rápido: Como verificar o navegador que está sendo utilizado pelo usuário

Ou no meu caso: "Como verificar se estou utilizando o Internet Explorer (vulgo IE)"

Imagine a seguinte situação: 

"Você quer incluir um arquivo CSS (Cascading Style Sheets) na sua página ou rodar um determinado algoritmo apenas para um determinado tipo de navegador, como por exemplo o IE6."

Aqui neste artigo, vão ser apresentadas algumas opções para resolver este problema: a primeira utilizando, no Zend Framework, o método appendStylesheet do Head Link (já comentado neste artigo); a segunda utilizando diretamente Comentários Condicionais; a terceira utilizando Javascript e a última utilizando apenas PHP


Figura 1: Flash


1ª Utilizando Head Link(*)


Na view basta adicionar o código:


1
2
3
4
5
6
<?php 

// Exemplo de adição de um CSS apenas para o navegador Internet Explorer
$this->headLink()->appendStylesheet('caminho/do/arquivo', 'screen', 'IE');

?>

2ª Utilizando Comentários Condicionais(*)


Basta adicionar o código entre os comentários condicionais, por exemplo:

<!--[if IE]>
<link href="non-ie.css" rel="stylesheet">
<![endif]-->

3ª Utilizando javascript:


1
2
3
4
5

<script type="text/javascript">
   if($.browser.msie){
      alert('Estou utilizando alguma versão do IE. ');
   }
</script>

4ª Utilizando apenas PHP 



1
2
3
4
5
6
7
8
9
<?php 
if(preg_match('/(?i)msie [0-9]*/', $_SERVER['HTTP_USER_AGENT'])){
?>
   <script type="text/javascript">
      alert('Estou utilizando alguma versão do IE. ');
   </script>
<?php
}
?>



(*) Comentários condicionais não são mais reconhecidos no Internet Explorer 10