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

Loop Infinito


Guest - Fidel -

Pergunta

Olá amigos,

Tenho um site pré-moldado em phpBB e recentemente meu site tem

recebido muitas visitas não apenas de Brasileiros, mas também de

usuários de lingua espanhola e inglesa.

Quem conhece um pouco de phpBB, se você tiver instalado as linguas

necessárias poderá estar mudando a lingua de qualquer menu e imagem

do site (exceção da mensagens).

Resolvi então fazer um Script em Java para traduzir o site para inglês e

espanhol o que pode ser feito adicionando ?language=english ou

?language=spanish ao final do endereço da página.

Ex: www.meusite.com.br/portal.php?language=english

Fiz da seguinte forma para detectar o idioma do visitante:

<script>
var type=navigator.appName
if (type=="Netscape")
var lang = navigator.language
else
var lang = navigator.userLanguage
var lang = lang.substr(0,2)

/// Inglês
if (lang == "en")
window.location.replace('?language=english')
else if (lang == "en-au")
window.location.replace('?language=english')
else if (lang == "en-ca")
window.location.replace('?language=english')
else if (lang == "en-us")
window.location.replace('?language=english')
else if (lang == "en-ir")
window.location.replace('?language=english')
else if (lang == "en-jm")
window.location.replace('?language=english')
else if (lang == "en-nz")
window.location.replace('?language=english')
else if (lang == "en-gb")
window.location.replace('?language=english')
else if (lang == "en-tt")
window.location.replace('?language=english')



/// Espanhol
else if (lang == "es") 
window.location.replace('?language=spanish')
else if (lang == "es-mx") 
window.location.replace('?language=spanish')
else if (lang == "es-py") 
window.location.replace('?language=spanish')
else if (lang == "es-cl") 
window.location.replace('?language=spanish')
else if (lang == "es-cr") 
window.location.replace('?language=spanish')
else if (lang == "es-co") 
window.location.replace('?language=spanish')
else if (lang == "es-pr") 
window.location.replace('?language=spanish')
else if (lang == "es-ni") 
window.location.replace('?language=spanish')
else if (lang == "es-ar") 
window.location.replace('?language=spanish')

else 

window.location.replace('?language=portuguese_brazil')
</script>

Porém quando coloco este código no "cabeçalho" da página

para executar em qualquer página do site, gera um Loop

infinito que impossibilita de abrir a página.

Eu acho que a unica solução para resolver seria que fosse executado

apenas uma vez, somente quando o visitantes entrasse no site, mas

realmente nem tenho idéia de como fazer isso e se é possivel fazer

em Javascript.

Qualquer sugestão será bem-vinda.

Abraços a todos,

Fidel.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

ow irmao, eu coloquei as Chaves porem não sei se foi

no lugar certo e continuo preso nesse LOOP INFINITO :S

Teria como dizer onde deveria colocar estas Chaves?

Mais alguma sugestao?

Link para o comentário
Compartilhar em outros sites

  • 0

Tente assim:

<script>
var type=navigator.appName

if (type=="Netscape"){
var lang = navigator.language
}else{
var lang = navigator.userLanguage
var lang = lang.substr(0,2)
}

//document.write(lang+"<br>");

if(lang=="pt"){location.href="portugues.html";}
if(lang=="en"){location.href="ingles.html";}
if(lang=="es"){location.href="espanhol.html";}
</script>

Link para o comentário
Compartilhar em outros sites

  • 0

Nem assim adiantou :(

Mas vo dizer uma coisa (é o que esta acontecendo)...a pagina onde eu inseri o Script é o HEADER da pagina, então ela aparece em toda e qualquer pagina do site, o que esta acontecendo é o seguinte...

Logo que o LOCATION.HREF é executado, ele faz a pagina atual atualizar, então o SCRIPT é executado novamente (já que ele esta presente no HEADER) fazendo este ciclo infinito, impedindo que a pagina possa ser exibida.

De qualquer forma obrigado pelo ajuda, talvez não tenha como fazer isso que eu quero em JAVASCRIPT.

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...