Ir para conteúdo

POWERED BY:

Arquivado

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

dinhografo

[POG]Descobrir se o o Javascrip do usuário está Habilitado

Recommended Posts

Eu fiz uma gambiarra com php para identificar se o javascript do user está habilitado/desabilitado.

O código:

<HTML>  
<HEAD> 
<!-- script que vai gravar no corpo da página se o Javascript estiver habilitado //--> 
<script>  
function habilitado(){
	document.write("Javascript Habilitado!");  
}
</script>	
<!-- caso javascript desabilitado, carrega a página com um código de erro(o "$_SERVER['PHP_SELF']" quer dizer na mesma página
e o "?erro=JSDesabilitado" é o código de erro que será gerado no endereço do browse para ser recuperado por GET no PHP //-->
  <noscript>  
  <META http-equiv="refresh" content="2; URL=<?php echo $_SERVER['PHP_SELF'].'?erro=JSDesabilitado'?>">  
</noscript> 
<?php 
//Verifica por GET se foi redirecionado para pagina.php?erro=JSDesabilitado
$det=$_GET["erro"];
//Se sim, então ele gera uma título e um texto(só para exemplar)
if($det=="JSDesabilitado"){
	echo "<title>Java Desabilitado</title>
	<strong>Seu Javascript Está Desabilitado</strong>";
}
//Se não ele cria um outro título diferente e grava numa variável($habilitado), 
//pode criar uma sessão no caso para gravar a informação e carregar 
//ou não um arquivo js se houver a sessão por exemplo
else{
echo "<title>Java Habilitado</title>";
	$habilitado="Java";
}
?>
</HEAD>  
<BODY> 
<?php 
//se existir a variável $habilitado é executada a função javascript habilitado()
if($habilitado){
	echo "<script>habilitado()</script>";
}
?>
</BODY>  
</HTML>
Testado no IE7 e FF2

Pergunta:

Alguém sabe como se faz algo assim só com Javascript?

Seria intereçante saber como identicar se o navegador do cliente está ou não com o javascript habilitado(sem gambiarra, já basta essa) e assim preparar um site com javascript não obstrutivo bem mais fácil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na página inicial do seu site, por exemplo, você poderia incluir um link que efetuasse um redirect com javascript e em caso de não estar ativado o usuário fosse redirecionado para o site sem javascript, algo como:

 

(...)
<head>
window.onload = function(){
	document.getElementById('garden').onclick = function(){
	window.location.href = 'siteComJavascript.htm';
	return false;
}
}
</head>
<body>
(...)
<a href="siteSemJavascript.htm" title="Entre" id="garden">Entre Aqui</a>
(...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na página inicial do seu site, por exemplo, você poderia incluir um link que efetuasse um redirect com javascript e em caso de não estar ativado o usuário fosse redirecionado para o site sem javascript, algo como:

 

(...)
<head>
window.onload = function(){
	document.getElementById('garden').onclick = function(){
	window.location.href = 'siteComJavascript.htm';
	return false;
}
}
</head>
<body>
(...)
<a href="siteSemJavascript.htm" title="Entre" id="garden">Entre Aqui</a>
(...)
Boa alternativa, mas dessa maneira seria mais simples e fácil usar sem ter que encher o usuário que na maioria das vezes nem jabe o que isso.

<noscript>  
  <META http-equiv="refresh" content="0; URL=siteSEMJavascript.htm">  
</noscript>
Assim por padrão o site abrirá o conteúdo com javascript e se não estiver habilitado então ele redireciona para outro sem javascript. Mas a lógica do tópico é esta, a diferença é que no 1º post eu usei PHP para gerar uma uma variável(sessão é mais eficaz) e assim o desenvolvedor só faz um site onde se a variável(sessão) exitir ele mostra um conteúdo e se não mostra outro conteúdo.

Imagine assim:

Você fez um site onde os links são assim: <a href='minhaPagina.html' onClick='suaFuncao('minhaPagina.html')'>Minha Página</a>, isso faz com que se o javascript estiver desabilitado ele vá para a página do link da mesma forma só que sem a beleza do javascript(Ajax por exemplo), até aqui tudo ótimo os links estão perfeitos e isso melhora o SEO do site, porém você tem uma menu todo em js com várias API's todo bonitinho, cheio de papagaiada etc.

O usuário entra no site com o javascript desabilitado, seus links iram funcionar beleza, mas seu menu não, é aí que entra o 1º código, se ele estiver com o javascript desabilitado a parte do <noscript> redireciona ele para a mesma página e gera um código de erro por GET(?erro=JSDesabilitado), nesse caso se existir esse get o PHP recupera esse GET e mostra um determinado conteúdo, se não ele mostra outro.

ex:

if($_GET['erro'] == 'JSDesabilitado'){

...Mostra um menu para javascript desabilitado..

}else{

...Mostra um menu em javascript(Habilitado)..

}

Mas isso é só um exemplo, quem tem um pouquinho mais de destreza com php vai criar uma sessão para não ter que ficar digitando código a toa.

Mas gente, eu fiz uma baita burrice ao perguntar:

Alguém sabe como se faz algo assim só com Javascript?

Agora vendo meu tópico eu me toquei:

Hora se o javascript estiver desabilitado COMO ELE IRÁ FAZER PARA EXECUTAR QUALQUER COISA!!! SEU BURRO, hahahahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom o sistema de detecção...

 

Mas...

 

"Hora se o javascript estiver desabilitado COMO ELE IRÁ FAZER PARA EXECUTAR QUALQUER COISA!!! SEU BURRO, " //Pega leve !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora vendo meu tópico eu me toquei:

Hora se o javascript estiver desabilitado COMO ELE IRÁ FAZER PARA EXECUTAR QUALQUER COISA!!! SEU BURRO, hahahahaha

Juro que notei isso na sua pergunta, mas acabei relevando hauahau.

 

Vendo por este lado sim, sua solução é muito adequada.

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.