Ir para conteúdo
Fórum Script Brasil
  • 0

Reconhecer browser


GuuH.zin

Pergunta

Olá, pessoal. sou novato nas programações e no fórum

Eu tenho aqui um script de adicionar o site aos favoritos, só que funciona apenas no IE e no FF e Opera. então eu quero saber se tem algum script que mostra uma mensagem dizendo que o script de adicionar aos favoritos não é compatível com outro navegador que não seja o IE ou o FF para outro navegador e que não mostre nada se for ie ou ff...

tipo: se chegar um visitante na minha página usando o Safari, sei la, então abaixo do link de add aos favoritos aparece uma layer dizendo que tal script funciona apenas com IE ou com FF e se chegar um visitante usando firefox ou internet explorer, não aparece nada...

Se alguém tiver um script assim, posta aqui... Agradeço desde já

Se alguém quiser o script de adicionar aos favoritos eu posso postar também :lol:

Editado por GuuH.zin
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Não recomendo que tente adcionar o site como favoritos via javascript. Isso não faz muito sentido e, por isso, não é suportado com todos os browsers.

Afinal, se o usuário quiser adcionar o navegador como favorito, ele poderá fazê-lo manualmente.

De qualquer forma, tente um try..catch

try{
//adciona favoritos
}catch(e){
//se não conseguir, erro !
}

Link para o comentário
Compartilhar em outros sites

  • 0
Não recomendo que tente adcionar o site como favoritos via javascript. Isso não faz muito sentido e, por isso, não é suportado com todos os browsers.

Afinal, se o usuário quiser adcionar o navegador como favorito, ele poderá fazê-lo manualmente.

De qualquer forma, tente um try..catch

try{
//adciona favoritos
}catch(e){
//se não conseguir, erro !
}
Olá, Jonathan. Eu tentei usar o try...catch, mas parece que não deu certo. tentei usar no safari e não consegui. segue o código:
<script language="javascript">
<!--
  try{
    // se der erro nesta função...
    addFavorite();
  }
  catch(e){
    // ...esta mensagem de erro será aberta
    window.alert("O link 'Adicionar aos Favoritos' funciona apenas no\nInternet Explorer ou no Mozilla Firefox.\n\nPor favor, adicione aos Favoritos manualmente.");
  }
//-->
</script>
O código parece não estar errado... eu testei ele antes com uma função inexistente e a janela de aviso foi aberta. segue o script de adicionar aos favoritos:
<hmtl>
<head>
&lt;script language="JavaScript">
function addFavorite(){
    var url      = "http://minhapagina.com/";
    var title    = "Minha página";
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
}
</script>
</head>
<body>
&lt;script language="javascript">
<!--
  try{
    // se der erro nesta função...
    addFavorite();
  }
  catch(e){
    // ...esta mensagem de erro será aberta
    window.alert("O link 'Adicionar aos Favoritos' funciona apenas no\nInternet Explorer ou no Mozilla Firefox.\n\nPor favor, adicione aos Favoritos manualmente.");
  }
//-->
</script>
<a title="Adicionar aos Favoritos" href="java script:addFavorite()">
<img align="Absmiddle" src="http://img15.imageshack.us/img15/5098/addtofavorites16.png" alt="Adicione a Minha Página aos seus Favoritos" border="0"> Favoritos</a>
</body>
</html>

Editado por GuuH.zin
Link para o comentário
Compartilhar em outros sites

  • 0
Tente deixar o código dentro da função addFavorite

Tentei isso, mas não deu certo ou eu fiz errado. quando eu clico no link para adicionar aos favoritos a janela abre. se eu clico em cancelar abre a janela novamente, se eu clico em adicionar abre de novo... eu tive que finalizar o ie no gerenciador de tarefas.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, cheguei nisso com umas buscas aqui pelo forum. Mas eu fiz uma cagada na parte dos scripts (a de colocar a função de um script no código de outro script)... eu deixei desse jeito mesmo para facilitar o entendimento do que eu quero fazer...

<html>
<head>
<style>
#sec1 {
position: absolute;
margin-top:0px;
margin-left:0px;
color:black;
background-color:#FFFF99;
border:1px solid #000000;
font-family:Segoe UI;
font-size:x-small;
text-align:justify;
Padding-top:2px;
Padding-bottom:2px;
Padding-right:2px;
Padding-left:2px;
visibility:hidden;
}
</style>
<script language="JavaScript">
function addFavorite(){
    var url      = "http://minhapagina.com/";
    var title    = "Minha Página";
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
}
</script>
<script language="JavaScript">
<!--
function hideSec(n) {
document.getElementById('sec' + n).style.visibility = "hidden"
}

function showSec(n) {
document.getElementById('sec' + n).style.visibility = "visible";
}
</script>
<script language="JavaScript">
navegador = navigator.appName;
if (navegador == "Microsoft Internet Explorer"){
showSec(1);
}
else if(
navigator.userAgent.indexOf("Firefox") != -1){
hideSec(1);
}
else{
hideSec(1);
}
// -->
</script>
</head>
<body>
<a title="Adicionar aos Favoritos" href="java script:addFavorite()">
<img align="Absmiddle" src="http://img15.imageshack.us/img15/5098/addtofavorites16.png" alt="Adicione aos seus Favoritos" border="0"> Favoritos</a><br>
<div id="sec1">
O comando 'Adicionar aos Favoritos' funciona somente com o <a href="http://www.microsoft.com/brasil/windows/internet-explorer/default.aspx" title="Faça o download do Internet Explorer mais recente (opcional)." target="_blank">Internet Explorer</a> e com o <a href="http://pt-br.www.mozilla.com/pt-BR/firefox/" title="Faça o download do Mozilla Firefox mais recente (opicional)." target="_blank">Mozilla Firefox</a>.<br> Adicione manualmente aos Favoritos em outros navegadores.
</div>
</body>
</html>

Editado por GuuH.zin
Link para o comentário
Compartilhar em outros sites

  • 0

Consegui fazer o código...

Segue o código se alguém quiser

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//PT"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<html xmls="http://ww.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
<title>Detectar o navegador do usuário e, dependendo de qual for, mostrar uma mensagem</title>
<meta http-equiv="Content-Type" content="text/html; charset=isso-8859-1" />
<style>
#sec1 {
position:absolute;
display:block;
margin-top:0px;
margin-left:0px;
color:black;
background-color:#FFFF99;
border:1px solid #000000;
font-family:Segoe UI;
font-size:x-small;
text-align:justify;
padding-top:2px;
padding-bottom:2px;
padding-right:2px;
padding-left:2px;
visibility:hidden;
}
</style>
&lt;script language="JavaScript">
function addFavorite(){
    var url      = "http://minhapagina.com/";
    var title    = "Minha Página";
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
}
</script>
&lt;script type="text/javascript">

//criando a variável resultado
var resultado;
//testando se encontrou Firefox/x.x ou Firefox x.x;
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
    // capture a parcela de x.x e armazene-a como um número
   var ffversao=new Number(RegExp.$1)
   //atribua o resultado a variável resultado
   resultado=("Adicione aos seus Favoritos com o Mozilla Firefox.");
}
//testando se encontrou MSIE x.x
else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
   // capture a parcela de x.x e armazene-a como um número
   var ieversao=new Number(RegExp.$1)
   //atribua o resultado a variável resultado
   resultado=("Adicione aos seus Favoritos com o Internet Explorer.");
}
//caso não seja nem destes então atribua o seguinte valor a variável resultado
else{
resultado=("O comando Adicionar aos Favoritos funciona apenas com o Internet Explorer ou com o Mozilla Firefox.<br>Por favor, adicione aos Favoritos manualmente em outros navegadores.");
}

//Exibindo resultado
function getInfo(){
   //pegue no documento o  id mensagem e atribua o valor da variável resultado ao mesmo
   document.getElementById("sec1").innerHTML+=resultado;
}
</script>
&lt;script> 
//the next 3 lines are browser detection for user-agent DOMS
ns4 = (document.layers) ? true:false //required for Functions to work
ie4 = (document.all) ? true:false //required for Functions to work
ng5 = (document.getElementById) ? true:false //required for Functions to work

function hideSec() {
if (ng5) document.getElementById('sec1').style.visibility = "hidden"
else if (ns4) document.sec1.visibility = "hide"
else if (ie4) sec1.style.visibility ="hidden"
}

function showSec(n) {
hideSec();
if (ng5) document.getElementById('sec' + n).style.visibility = "visible";
else if (ns4) document.layers["sec" + n].visibility = "show";
else if (ie4) document.all["sec" + n].style.visibility = "visible";
}

</script>
</head>
<!--ao carregar a página html chame a função getInfo()-->
<body onLoad="getInfo()">
<!--crie uma div de id=mensagem, para atribuir o valor da variável resultado-->
<a href="java script:addFavorite()" onMouseOver="showSec(1)">
<img align="Absmiddle" src="http://img15.imageshack.us/img15/5098/addtofavorites16.png" alt="Adicione aos seus Favoritos" border="0"> Favoritos</a><br>

<div id="sec1" onMouseOut="hideSec(1)"></div>
</body>
</html>

Obrigado pela atenção, Jonathan

Podem maracar o tópico como resolvido

Link para o comentário
Compartilhar em outros sites

  • 0

Ok então !

Você também poderia tentar assim:

if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
else{
alert("Erro !")
}

Ou seja, se não funcionar mostra a mensagem de erro ao invés de verificar todos os navegadores.

Obs.:

O tópico foi marcado como Resolvido

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...