Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CrazyLOL

[Resolvido] <noscript> redirecionar

Recommended Posts

Galera, tenho algumas paginas que usam javascript e gostaria de obrigar a pessoa ativar.

Bom estou usando o <noscript> porém gostaria que fosse redirecionado para outra pagina exemplo uma pagina explicando porque o motivo da mensagem.

Tentei varias formas de redirecionar porém nenhuma deu certo...

 

Obs, uso o noscript dentro de um arquivo include (config.php) como o config.php está em todas as paginas fica mais facil configurar um local só o noscript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso estar falando bobagem, mas já experimentou colocar um META Refresh dentro dessa tag?

 

O HTML pode não ficar válido, mas parece ser uma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dica do Bruno Augusto pode dar certo...

 

Dentro de HEAD:

<noscript>
 <meta http-equiv="refresh" content="2;url=http://seu-site.com/porque-javascript-obrigatorio.html">
</noscript>

 

Substitua "http://seu-site.com/porque-javascript-obrigatorio.html" pelo endereço (URL) da página com a explicação ao usuário.

 

 

Outra maneira seria colocar todos os elementos da página em um wraper

 

<div id="no-js" style="display: none;">
 Por favor habilite o javascript em seu navegador
</div>
<div id="wrapper">
 <!-- Todos os elementos da página aqui -->
</div>
<noscript>
<style>#no-js {display: block;} #wrapper{display: none;}</style>
</noscript>

 

 

O arquivo config.php não deveria ter nenhuma saída, apenas parâmetros de configuração. Você deveria usar o seguinte:

 

header.php

 <!doctype html>
 <html>
   <head>
     <title></title>
     <!-- noscript aqui!! -->
   </head>
   <body>
   <!-- cabeçalho do seu site, igual em todas as páginas -->

 

footer.php

 <!-- rodapé do seu site, igual em todas as páginas -->
 </body>
</html>

 

Daí todas as páginas devem iniciar com...

require "config.php"; // apenas com parâmetros de configuração
include "header.php";

 

E terminar com...

include "footer.php";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno obrigado pelo conselho porém o refresh ficaria atualizando a pagina certo?

 

Mangakah usei o jeito que você falou porém não apareceu nada escrito... apenas ficou sem o meu formulario de cadastro ( quando ativo o javascript aparece normal o formulario ).

 

Porém a mensagem para ativar o JavaScript não apareceu... ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno obrigado pelo conselho porém o refresh ficaria atualizando a pagina certo?

 

Mangakah usei o jeito que você falou porém não apareceu nada escrito... apenas ficou sem o meu formulario de cadastro ( quando ativo o javascript aparece normal o formulario ).

 

Porém a mensagem para ativar o JavaScript não apareceu... ;/

 

Desculpe, me esqueci que estilos inline sobrescrevem estilos dentro de <style>.

 

Corrigido:

<style>
#no-js { display: none; }
</style>
<noscript>
<style>#no-js {display: block;} #wrapper{display: none;}</style>
</noscript>
<div id="no-js">
 Por favor habilite o javascript em seu navegador.
</div>
<div id="wrapper">
 <!-- Todos os elementos da página aqui -->
 Conteúdo do site
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<noscript>
<style>#no-js {display: block;} #wrapper{display: none;}</style>
</noscript>

hum... eu acho mais sensato usar a propria linguagem javascript para esse tipo de identificação.

 

Algo assim:

<html>
<head>
<style type="text/css">
#wrapper { display: none; }
</style>
<script type="text/javascript">
window.onload = function(){
	id('no-js').style.display = 'none';
	id('wrapper').style.display = 'block';
}
function id( el ){
	return document.getElementById( el );
}
</script>
</head>
<body>
<div id="no-js">
  Por favor habilite o javascript em seu navegador.
</div>
<div id="wrapper">
  <!-- Todos os elementos da página aqui -->
  Conteúdo do site
</div>
</body>
</html>

 

As boas práticas dizem, para "deixar funcionando", mesmo se o suporte a javascript falhar.

Qualquer bom sistema web deveria seguir esse princípio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.