deathseeker25 Posted August 25, 2005 at 07:24 PM Report #3998 Posted August 25, 2005 at 07:24 PM Boas, Antes de começar a programar em PHP, rsolvi fazer uma pagina em JavaScript e meti as mãos á obra nem há meia-hora atrás. Elaborei o seguinte script: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: #000000; } body { background-color: #FFFFFF; } --> </style></head> <body> <script> var d=novaData() var dia=d.getDay() var definido() function mostrar_alerta() { alert("Boas,<p>Hoje é"+definido+".Seja bem-vindo") } switch(dia) { case 1: definido=="Domingo" break case 2: definido=="Segunda-feira" break case 3: definido=="Terça-Feira" break case 4: definido=="Quarta-feira" break case 5: definido=="Quinta-feira" break case 6: definido=="Sexta-feira" break case 7: definido=="Sábado" break default: document.write("Impossivel determinar o dia!Erro no sistema!") } </script> <input type="button" onclick="mostrar_alerta()" value="Clique para mostrar alerta!"> </body> </html> Aqui tem o codigo-fonte da pagina completa. O problema é que quando clico na caixa que crio no index da página nada acontece.Alguem me consegue explicar porque? Cumps Skin: Adicionei Geshi && mudei titulo
Lancaster Posted August 25, 2005 at 08:46 PM Report #4008 Posted August 25, 2005 at 08:46 PM Heyas all... Bem vamos começar...tens aqui uma carrada de erros... Vou citando o teu código, digo o que está errado, e ponho o meu código (penso que é o melhor...) <script> var d=novaData() var dia=d.getDay() var definido() Primeiro...eu sei que não é necessário mas é sempre bom por na tag script qual é o script que estás a usar... Segundo...a função novaData() não existe...o que tu querias era a new Date() Terceiro...o defenido é uma variável e não uma função...logo não leva ().. <script language="javascript" type="text/javascript" > var d=new Date(); var dia=d.getDay(); var definido; 2º Parte: case 1: definido=="Domingo" break case 2: definido=="Segunda-feira" break ...... O == serve apenas para comparações, nunca para atribuições...ou seja fica algo do tipo: case 1: definido="Domingo" break case 2: definido="Segunda-feira" break; .... 3º e último: function mostrar_alerta() { alert("Boas,<p>Hoje é"+definido+".Seja bem-vindo") } Não podes passar tag's html por uma alert box..pelo menos que eu saiba... Conselhos finais... Aconselho-te a indentar o código...ou seja por tab's...para leitura fácil...é só para isso...e também a por ; no final de cada linha de código (só naquelas que podes é claro..) também para facilitar a leitura, visto que ele lê tudo da mesma maneira.. Já me esquecia...uma cena muito fixe que o FF tem é a "JavaScript Console" no menu tool's...diz-te tudo e mais alguma coisa sobre os erros e warnings que existam no javascript que a página usa...melhor debugger é impossivél.. Hasta all e espero ter ajudado [[]] Skin: Adicionei Geshi http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB
deathseeker25 Posted August 25, 2005 at 09:06 PM Author Report #4012 Posted August 25, 2005 at 09:06 PM Boas Lancaster, Desde já agradeço pela ajuda que me deste, visto que consegui por o script a funcionar correctamente. Gostava agora de obter mais algumas informações: 1º-Como posso fazer com que logo que abra a página apareça a mensagem acerca de que dia é, sem termos de clicar em algum botão como está a acontecer? 2º É possivel, através de alguma função pre-definida no Javascript, obter o ip do utilizador que acede ao forum? (visto que consigo obter o browser, a versão, verificar se os cookies estão activados, etc) Estas são as minhas duvidas do momento. Mais cedo ou mais tarde vou regressar com mais algumas. Abraço e cumps
Lancaster Posted August 25, 2005 at 09:27 PM Report #4014 Posted August 25, 2005 at 09:27 PM Citação Boas Lancaster, Desde já agradeço pela ajuda que me deste, visto que consegui por o script a funcionar correctamente. Gostava agora de obter mais algumas informações: 1º-Como posso fazer com que logo que abra a página apareça a mensagem acerca de que dia é, sem termos de clicar em algum botão como está a acontecer? Isto é fácil, basta na tag body pores: <body onLoad="mostrar_alerta();"> Btw...eu costumo por as funções de javascript entre a tag </head> e a tag <body> mais por uma questão de uma pessoa abrir o código, e ver logo que javascript é que existe..mas não é importante...questões de oraganização de código.. Citação 2º É possivel, através de alguma função pre-definida no Javascript, obter o ip do utilizador que acede ao forum? (visto que consigo obter o browser, a versão, verificar se os cookies estão activados, etc) Claro que "dá"...o user tem é que ter o java virtual machine, ou o java da sun...mas isso praticamente toda a gente tem.. <script language="javascript" type="text/javascript"> var ip = new java.net.InetAddress.getLocalHost(); var ipStr = new java.lang.String(ip); document.writeln(ipStr.substring(ipStr.indexOf("/")+1)); </script> Tive agora a testar em localhost e em página web...e nenhum dos script's que arranjei dá...mas googla por aí que alguma hás-de encontrar que funcione.. http://pwp.netcabo.pt/lancaster/sd.html -> A página onde estive a testar os scripts do IP... Hasta all.. Skin: Adicionei Geshi http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB
deathseeker25 Posted August 25, 2005 at 10:11 PM Author Report #4022 Posted August 25, 2005 at 10:11 PM Boas, Não consegui resolver nenhum dos problemas: <body onload="mostrar_alerta();"> <script language="javascript" type="text/javascript"> var d=new Date() ; //variaveis do script dos dias// var dia=d.getDay(); var definido; function mostrar_alerta() { alert("Boas, Hoje é "+definido+".Seja bem-vindo"!) } switch(dia) { case 1: definido="Domingo" break; case 2: definido="Segunda-feira" break; case 3: definido="Terça-Feira" break; case 4: definido="Quarta-feira" break; case 5: definido="Quinta-feira" break; case 6: definido="Sexta-feira" break; case 7: definido="Sábado" break; default: document.write("Impossivel determinar o dia!Erro no sistema!") } </script> Mesmo colocando o nome da função exactamente como colcaste em body onLoad nada acontecer quando abro a página. Quanto ao script que lê o ip, depois de quase meia-hora de pesquisa, encontrei diversas opiniões em foruns que já não estão activos e encontrei tambem algumas dezenas de scripts diferentes. O que é verdade é que os scripts não funcionam (pelo menos nos browsers actuais, visto que são já antigos os scripts) e as opiniões apontam todas para a utilização do PHP. De qualquer forma, gostava de saber a tua opinião em relação a isto. Quanto ao body onLoad, devo estar a fazer algo errado. Cumps e obrigado desde já pela ajuda. Skin: Adicionei Geshi
Grettir Posted August 25, 2005 at 10:50 PM Report #4035 Posted August 25, 2005 at 10:50 PM Heyas, essa é uma das vantagens em colocares o codigo JavaScript nos headers. O que se passa é que quando o browser começa a carregar a pagina e despoleta o evento onLoad, ainda na apareceu o scritp de JS. Experimenta colocar o codigo no header. Fica bem Ricardo Castelhano ----------------------- FullStack Developer Technical Manager Trainer
deathseeker25 Posted August 25, 2005 at 11:04 PM Author Report #4037 Posted August 25, 2005 at 11:04 PM Boas Grettir, <head> <title>Javascript</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: #000000; } body { background-color: #FFFFFF; } --> </style> <script language="javascript" type="text/javascript"> var d=new Date() ; //variaveis do script dos dias// var dia=d.getDay(); var definido; function mostrar_alerta() { alert("Boas, Hoje é "+definido+".Seja bem-vindo"!) } switch(dia) { case 1: definido="Domingo" break; case 2: definido="Segunda-feira" break; case 3: definido="Terça-Feira" break; case 4: definido="Quarta-feira" break; case 5: definido="Quinta-feira" break; case 6: definido="Sexta-feira" break; case 7: definido="Sábado" break; default: document.write("Impossivel determinar o dia!Erro no sistema!") } </script> <script language="javascript" type="text/javascript"> document.write("<p>Browser:") document.write(navigator.appName + "<p>") document.write("<p>Versão do browser:") document.write(navigator.appVersion + "<p>") document.write("Plataforma:") document.write(navigator.platform + "<p>") document.write("Cookies activadas:") document.write(navigator.cookieEnabled +"<p>") document.write("Cabeçalho do browser:") document.write(navigator.userAgent + "<p>") </script> </head> Na verdade continua sem funcionar. Não sei se estou a fazer alguma coisa mal, mas não me parece. Peço tambem desculpa pelo tamanh dos posts, mas é a unica forma de vos mostrar que não está a funcionar e que (não) estou a fazer nada mal. Cumps Skin: Adicionei Geshi
Solution Lancaster Posted August 26, 2005 at 08:25 AM Solution Report #4041 Posted August 26, 2005 at 08:25 AM Heyas all... Experimenta por lá isto tudo no teu .html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: #000000; } body { background-color: #FFFFFF; } --> </style></head> <body> <script language="javascript" type="text/javascript" > var d=new Date(); var dia=d.getDay(); var definido; function mostrar_alerta() { alert("Boas,Hoje é "+definido+ ".Seja bem-vindo"); } switch(dia) { case 1: definido="Domingo" break case 2: definido="Segunda-feira" break; case 3: definido="Terça-Feira" break case 4: definido="Quarta-feira" break case 5: definido="Quinta-feira" break case 6: definido="Sexta-feira" break case 7: definido="Sábado" break default: document.write("Impossivel determinar o dia!Erro no sistema!") } </script> <script language="javascript" type="text/javascript"> document.write("<p>Browser:") document.write(navigator.appName + "<p>") document.write("<p>Versão do browser:") document.write(navigator.appVersion + "<p>") document.write("Plataforma:") document.write(navigator.platform + "<p>") document.write("Cookies activadas:") document.write(navigator.cookieEnabled +"<p>") document.write("Cabeçalho do browser:") document.write(navigator.userAgent + "<p>") </script> <body onLoad="mostrar_alerta();"> </html> Substitui este código pelo código que tens no teu html...e vê o que dá...e vê tb a java script console no FF porque para ele não correr...alguma se está a passar... Hasta all.. Skin: Adicionei Geshi http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB
deathseeker25 Posted August 26, 2005 at 09:53 PM Author Report #4081 Posted August 26, 2005 at 09:53 PM Lancaster o teu código funcionou.... Já agora, para determinar o ip do utilizador estou a pensar faze-lo através de PHP e não de Javascript, porque todas as formas em Javascript parecem não funcionar. Se assim for, que funções do PHP devo utilizar? Cumps
completo77 Posted February 4, 2006 at 11:23 PM Report #13332 Posted February 4, 2006 at 11:23 PM Tudo o que é client-side é uma bosta! A única coisa em que são bons é em não sobrecarregar os servidores! 😁 Alguem me explica para que é que serve a porra do XML ?
Lancaster Posted February 5, 2006 at 01:49 PM Report #13373 Posted February 5, 2006 at 01:49 PM Lancaster o teu código funcionou.... Já agora, para determinar o ip do utilizador estou a pensar faze-lo através de PHP e não de Javascript, porque todas as formas em Javascript parecem não funcionar. Se assim for, que funções do PHP devo utilizar? Cumps Heyas all... Humm...só agora é que vi este post...lol passado praticamente 6 meses.... de qq das maneiras se não encontras-te como mostrar o IP através de PHP usa isto: <? echo $_SERVER['REMOTE_ADDR']; ?> Hasta all e sorry pela demora...lol... [[]] Skin: Adicionei Geshi http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB
deathseeker25 Posted February 5, 2006 at 09:03 PM Author Report #13404 Posted February 5, 2006 at 09:03 PM Em 05/02/2006 às 14:49, Lancaster disse: Heyas all... Humm...só agora é que vi este post...lol passado praticamente 6 meses.... de qq das maneiras se não encontras-te como mostrar o IP através de PHP usa isto: <? echo $_SERVER['REMOTE_ADDR']; ?> Hasta all e sorry pela demora...lol... [[]] Realmente, foi uma resposta demorada... 🙂 No entanto agradeço, apesar de na altura ter conseguido o que pretendia... 🙂 Cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now