O Em Busca do Código é um site em formato de plataforma de ensino a distância (EAD), totalmente aberta e gratuita.
Aprendendo e ensinando, essa é a minha regra para mim.
Publicado dia 31 de maio de 2017.
Compre um adesivo do Em Busca do Código.
Publicidade
Publicidade
Publicidade
Como identificar o navegador que o visitante do seu site está utilizando
O vídeo complementa o texto e o texto completa o vídeo, assista.
Publicidade
O próprio vídeo desta dica começa de uma maneira diferente, pois as propriedades apresentadas na documentação da W3C para fazer isso não funcionam como deveriam.
A propriedade appName e appCodeName retornam sempre os mesmo valores, Netscape e Mozilla respectivamente. Perguntando no grupo Desenvolvimento Web do Facebook (o maior com este nome) o primeiro comentário me indicava um artigo em inglês que era quase o que eu precisava.
Antes de dar continuidade se você só veio pelo código fonte que identifica o navegador que o usuário está utilizando, aqui está ele.
Agora posso continuar meu artigo sentindo-me em paz. Voltando ao nosso curso :) agora vou descrever o código fonte desse site que está em inglês e logo em seguida começar a explicar minhas edições.
No código fonte do site wp-mix.com o autor (Jeff Starr) cria uma variável para cada navegador, depois iguala (cada variável) ao objeto navigator com a propriedade userAgent buscando com indexOf o nome do navegador.
No código fonte deste site também tem um maior que menos um ( > -1 ), confesso que não entendi ao certo o porque disto, mas a busca por um dos navegadores não funciona se, todos não tiverem esse detalhe.
Para ver a resposta ele sugere um if com alert, o alert no exemplo que eu queria para esta dica pode ser ignorado, o mais importante é o if. Eu não postarei o código fonte deste site aqui por uma questão de respeito, o link para este artigo em inglês está no final deste artigo.
No vídeo eu mostro um exemplo da resposta das propriedades appName e appCodeName em três navegadores (Google Chrome, Mozilla Firefox e Epiphany), a seguir nós temos o código fonte HTML inicial.
No vídeo eu também tenho um código fonte JS inicial, teste eu seus navegadores, é legal conferir.
Publicidade
No código fonte que está no site wp-mix.com ele utiliza a propriedade userAgent, e como ainda não expliquei nem citei ela, vejo um exemplo. Já vimos tudo o que está junto com a propriedade userAgent, caso tenha alguma dúvida de algo do próximo código fonte, por favor conferir a aba curso deste curso (as dicas anteriores).
Estou citando um ID chamado info, então voltei no HTML e criei uma tag p com este nome de ID, lembrando, o ID pode ter o nome que você quiser.
Publicidade
A propriedade userAgent retorna um cabeçalho do navegador, com informações como nome, versão e S.O.
Agora sim podemos começar com o código fonte desta dica, e a primeira diferença entre o meu código fonte final e o código fonte do site wp-mix.com é que, para o que eu quero, preciso de apenas uma variável para todos os navegadores, e ele utilizou uma variável para cada navegador.
Lembra que ele (Jeff Starr) utiliza if para ver a resposta, então, isso fica.
Voltando ao HTML pela última vez, criamos uma tag h2 com um id com nome qualquer, vamos escrever o nome do navegador nessa tag h2.
A lógica aqui é, em cada if, um navegador. Em outras palavras a condicional de cada if será nossa variável navegadores igual a busca por determinado navegador.
Se você leu até aqui já aviso que o vídeo está bem mais completo. O código fonte acima busca op, que segundo o código fonte do site wp-mix.com é Opera, eu não tenho Opera.
O código fonte acima busca por MSIE ou Firefox, se encontrar, a respostas será que a pessoa que está visitando o seu site está utilizando Internet Explorer ou Edge, ou, Mozilla Firefox".
Publicidade
Agora temos algo interessante (NOVO). O Epiphany é o navegador padrão do Elementary OS, e ele tem algo em comum com o Google Chrome, ambos aparecem a palavra também Safari quando você utiliza a propriedade userAgent, e se você colocasse a condicional do Safari antes desses navegadores, nesses navegadores só iria aparecer Safari.
Este código fonte não acabou, no código fonte do Jeff ele também usa alguns if em separado.
Na verdade ele utiliza dois deles, adicionei o do Epiphany durante o vídeo. Isso pode servir para evitar problemas com relação a busca.
Alias, Segundo esses ifs, quando chamar a propriedade useAgent no Opera, também aparecerá Chrome, igual no caso do Chrome e Epiphany aparece Safari. Por isso, já para evitar possíveis erros, eu deixei a condicional (if) do Opera, antes que o if do Google Chrome. Lembrando, eu não tenho Opera, isto é quase que uma suposição.
Eu testei aqui em três navegadores, quais navegadores você usa, tem algum navegador que eu não testei aqui?
Se sim, de preferência no YouTube, comente onde a condicional deste navegador tem que estar dentro dessa praticamente lista.
Código fonte JS completo.
Vai precisar criar mais desses ifs em separado, precisa mesmo dessas condicionais?
Se você utiliza um navegador que não está nem nesse código fonte, aí sim seria interessante comentar. Se puder mandar imagem da userAgent deste navegador que está aqui, pode mandar para a página do Em Busca do Código. Ficarei feliz em atualizar este código fonte.
Espero que você tenha gostado desta dica e leitura, e até mais. Observação, agora vem as fontes.
Grupo Desenvolvimento Web (Facebook)Confira outras dicas de JS do site. Já temos muito mais que o básico.
Se estiver utilizando bloqueador de propaganda, por favor, coloque este site na lista branca (isto sempre será apenas um pedido). Obrigado pela escolha.