• 0
Sign in to follow this  
Vinícius Doideira

Reconhecimento Do Navegador E Caixa De Mensagem

Question

Como faço para exibir uma caixa de mensagem apenas para usuários que acessem a minha página com o IE6?

Por exemplo, o cara que está usando esse navegador pré-histórico acessa minha página e imediatamente aparece uma caixa de mensagem dizendo algo como "Esta página é melhor visualizada com navegadores bons ou pelo menos com o IE7 ou superior." e o botãozinho "ok" – e para os demais usuários (os felizes usuários do Opera e do Firefox e mesmo do IE7, por exemplo) nada aparece.

Edited by Vinícius Doideira

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
<script language="JavaScript">
if (navigator.appName != "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 7)
{
alert("Esta página é melhor visualizada com navegadores bons ou pelo menos com o IE7 ou 

superior.");
}
</script>

Share this post


Link to post
Share on other sites
  • 0

Não funcionou...

A mensagem não aparece em versão nenhuma do IE, mas aparece no Firefox!

A idéia é que ela apareça em todas as versões de IE anteriores ao 7 (6, 5, 4, etc.) e não nos demais navegadores (Firefox, Opera, Konkeror, Safari, IE7, etc.)

Share this post


Link to post
Share on other sites
  • 0

não é que não funciona... a logica que eu coloquei foi justamente para exibir mensagem quando o navegador for diferente do IE, foi erro de interpretação minha. Vamos la:

<script language="JavaScript">
if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 7)
{
alert("Esta página é melhor visualizada com navegadores bons ou pelo menos com o IE7 ou 

superior.");
}
</script>

só aparece a mensagem quando o navegador for um IE com versao inferior ao 7

Share this post


Link to post
Share on other sites
  • 0

Ainda não funcionou, acho que o problema está no "navigator.appVersion", por que agora a mensagem aparece em todas as versões do IE (não parece mais no Firefox)... :(

Como já devem ter percebido eu não entendo nada de javascript, então fico fazendo testes... Quando coloca-se algo como:

</script>

<script type="text/javascript">
<!--
   var age = navigator.appVersion;      
   
   alert("Browser: " + age);    
//-->
</script>
Aparece uma janela assim no Firefox: "Browser: 5.0 (Windows;pt-BR)" e uma assim no IE7: "Browser: 4.0 (compatible; MSIE 7.0; Windows NT 5.1; NET CLR 1.1.4322; NET CLR 2.0.50727)" – no IE6 não lembro ao certo, mas aparece algo parecido começando também com 4.0 E se colocarmos algo assim:
</script>

<script type="text/javascript">
<!--
   var age = parseInt(navigator.appVersion);      
   
   alert("Browser: " + age);    
//-->
</script>

Aparece uma janela com a seguinte informação no Firefox: "Browser: 5"

e no IE7: "Browser :4" e no IE6 também aparece "Browser: 4".

Ou seja, não pode ser parseInt(navigator.appVersion) porque ele vai ser igual tanto para o IE7, quanto para o IE6...

Será que tem outra solução?

Share this post


Link to post
Share on other sites
  • 0

Vinicius, voce precisa entender o que cada coisa faz:

parseInt passa de string para inteiro.

Explicando a linha do codigo:

if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 7)

se (nome do naveador for igual a "Microsoft Internet Explorer" E a versao do navegador for menor que 7)

manda uma mensagem de alerta ao usuario.

a mensagem só vai ser disparada se as duas condições (navegador = IE e Versao superior a 7) forem verdadeiras

O codigo eu testei no IE (versao 4) e no Firefox, o acontece:

- IE: abre alerta porque é um IE e a versao é menor que 7 (as duas condições são verdadeiras)

- FF: não acontece nada porque não é IE e a versao é menor que 7 (só uma condição foi verdadeira, e para cair no alerta, as duas tem que ser.

Bom, o negocio é ver exatamente o que você quer que aconteça...o que vai mudar no codigo é só o IF, mas você continuará usando o navigator.appName e navigator.appVersion

Share this post


Link to post
Share on other sites
  • 0

é, eu já entendi isso tudo (eu pesquisei em alguns manuais ;))... Por isso, expliquei aquele lance.

Quando se coloca o parseInt, tanto para o IE7, quanto para o IE6, o valor que o script retorna para navigator.appVersion é 4, porque para o navigator.appVersion de ambos é "4.0 (compatible; MSIE X.0; Windows NT 5.1; NET CLR 1.1.4322; NET CLR 2.0.50727)" onde X=7 ou 6...

Ou seja, o que eu quero (que é mostrar a mensagem apenas para quem usa versões antigas do IE) não é possível, pois – não sei porque cargas d'água – o valor para navigator.appVersion não é o número correspondente à versão digamos "comercial" do navegador.

Mas tudo bem, vou mostrar a mensagem para todos os usuários do IE, independentemente da versão utilizada.

Muito obrigado, Andreia.

Ah, só pra saber, estou querendo fazer isso, pois vou mudar o visual do meu blog e eu usei muito css, e o IE6 não se dá muito bem com determinadas tags que utilizei. O endereço é http://peixenarede.blogspot.com a partir de amanhã já estará totalmente diferente de como é hoje.

Valeu!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this