Help!

15 respostas
C

Bom dia!
Eu tenho uma página JSP e tenho que fazer aparecer de acordo com o navegador (IE ou Mozilla Firefox), aparecer um textarea se for Mozilla Firefox ou um Iframe se for IE, quando eu clicar no assunto do e-mail, pois trata-se de uma intranet que tem um módulo de e-mails .
Fiz uma function para verificação, coloquei no onsubmit do form, mas não adiantou. Vai as os códigos:

Função para verificar o navegador.

function verificaNavegador(){                  
if(navigator.appName == "Microsoft Internet Explorer"){   

                     </script>                    
    <iframe class="Composition" width="100%" id="Composition" height="300" align="top"></iframe> 
<script>
}
</script>
<br>
<br>
                       <script>
  if(navigator.appName == "Mozilla Firefox")
  {
</script>
    <textarea name="Mensagem" cols="122" rows="20" id="Mensagem"  class="edtNormal" onBlur=  "this.className='edtNormal';" onFocus="this.className='edtSobre';"> <%out.println(MEN_TEXTO1);%>
</textarea>
                     
                       <script>
  }
}
</script>

Form

<form name="frmmsg" method="post" action="index.jsp" onSubmit="verificaNavegador();">

Não manjo de JavaScript, então quem puder me dar uma luz, pq não sei mais oq ue fazer, desde já valeu :frowning:

15 Respostas

O

Olá,
Bem não sei se é bem isso que vc quer, de qualquer forma espero que ajude…

<script language=“javascript”>

function verificaNavegador(){

if(navigator.appName == "Microsoft Internet Explorer"){   
	document.frmmsg.Mensagem.value = IE;
}                     

if(navigator.appName == "Mozilla Firefox"){                      
        document.frmmsg.Mensagem.value = Mozilla;            
}

}
</script>

C

Oi!
Vou tentar aqui, qualquwr coisa te informo . :slight_smile:

C

Oi!
Vou tentar aqui, qualquer coisa te informo . :slight_smile:

O

Puts, foi mal, entendi errado sua pergunta, é que é cedo, ainda estou meio com sono… :lol:
Vamos lá, coloque esse codigo abaixo no lugar onde vc quer que apareça o iframe ou textarea ok.

<script language=“javascript”>

function verificaNavegador(){

if(navigator.appName == "Microsoft Internet Explorer"){   
	&lt;%
		out.println("&lt;iframe class=\"Composition\" width=\"100%\" id=\"Composition\" height=\"300\" align=\"top\"&gt;&lt;/iframe&gt;");
	%&gt;
}                     

if(navigator.appName == "Mozilla Firefox"){                      
        &lt;%
		out.println("&lt;textarea name=\"Mensagem\" cols=\"122\" rows=\"20\" id=\"Mensagem\"  class=\"edtNormal\" onBlur=  \"this.className='edtNormal';\" onFocus=\"this.className='edtSobre';\"&gt;" + MEN_TEXTO1 + "&lt;/textarea&gt;");

	%&gt;          
}

}
</script>

C

Oi Amigo!
Não deu certo… :frowning:

J

Tente assim:

Esse trecho javascript você coloca dentro da tag form da sua página onde deverá ser exibido o textarea ou o iframe.

C

Ok Juliano vou tentar :slight_smile:

C

Pois eh Juliano deu certo o teste que vc me sugeriu…Porém no Firefox o textarea não aparece. :roll: .

urubatan

favor corrigir o titulo da thread, e colocar alguma coisa que diga do que tu ta falando …
facilita bastante quando alguem for procurar pelo mesmo assunto

J

Hehehe, eu já sabia que no FireFox não iria funcionar por que o teste que você está usando pra saber o nome do browser, no FF, retorna Netscape.

Você pode testar como “Netscape” ou fazer o teste de outra maneira:

ua=navigator.userAgent.toLowerCase(); nb = "ie"; pl = "pc_"; if(document.getElementById) nb = "ne6"; if(document.all) nb = "ie"; if(document.layers) nb = "ne"; if(ua.indexOf("mac")>0) pl = "mac_"; if(ua.indexOf("ppc")>0) pl = "mac_"; if(ua.indexOf("powerpc")>0) pl = "mac_"; if(ua.indexOf("firefox")>0) pl = "ff";

Verifique os conteúdos das variáveis nb e pl e você saberá qual browser está usando.

Blz?

C

Amigos valeu pelas dicas :smiley: , agora só estou tendo um problema que é o textarea que não aparece no Firefox…
Urubatan… pode deixar que vou melhorar meus posts :slight_smile:

C

Ok Juliano! Bha valeu mesmo… :smiley:

C

Oie Juliano estou eu qui encomodando novamente ehhe, fiz assim:

ua=navigator.userAgent.toLowerCase();
		 nb = "ie";
		 pl = "pc_";
		 if(document.getElementById) nb = "ne6";
		 if(document.all) nb = "Microsoft Internet Explorer";
		 if(document.layers) nb = "ne";
		 if(ua.indexOf("mac")>0) pl = "mac_";
		 if(ua.indexOf("ppc")>0) pl = "mac_";
		 if(ua.indexOf("powerpc")>0) pl = "mac_";
		 if(ua.indexOf("firefox")>0) pl = "Mozilla Firefox";
		   
		   if(nb == Microsoft Internet Explorer){
		   	document.write("<iframe class=\"Composition\" width=\"100%\" id=\"Composition\" height=\"300\" align=\"top\"></iframe>"); 	
		   }
		   if(pl == Mozilla Firefox){
		     document.write("<textarea name=\"Mensagem\" cols=\"122\" rows=\"20\" id=\"Mensagem\">" + MEN_TEXTO1 + "</textarea>"); 
		   }

Agora vou testar

J

Algumas considerações:

Nesses trechos:

if(nb == Microsoft Internet Explorer){ if(pl == Mozilla Firefox){

tem que ser assim:

if(nb == "Microsoft Internet Explorer"){ if(pl == "Mozilla Firefox"){

Com aspas senão vai dar erro.

Outra coisa, lá onde está escrito MEN_TEXTO1 você deve substituir pelo trecho JSP de onde vem o conteúdo de <%out.println(MEN_TEXTO1);%>, lembra?

Mais tarde, depois de funcionar isso tudo, você pode “melhorar” esse seu código JavaScript pra ficar mais bem distribuído, ok?

C

Certinho Juliano!
Valeu por tudo, vou melhorar o código sim :smiley:
att
carol

Criado 22 de junho de 2006
Ultima resposta 22 de jun. de 2006
Respostas 15
Participantes 4