Testar se o javascript está habilitado no browser do usuário

Opa!
Beleza pessoal!
Fiz uma função javascript para testar se ele está habilitado no browser do usuário.

<script language='Javascript' type='text/javascript'>
$(document).ready(
function javascript() {  
var hasJava = navigator.javaEnabled();
		if (hasJava != true) {
		alert("O seu Javascript está desabilitado!");
	}
});

</script>

E no body coloquei:

<body id="home" onload="javascript()">
</body>

Só que não acontece nada, alguém sabe onde estou errando ai?
Abraço!

muda o nome da função que javascript é palavra reservada.

Mudei aqui para loadScript() mas continua não respondendo. =/

Tenta assim…

window.onload = function() {
loadScript();
};

você quer dar uma mensagem em javascript para avisar o usuário que o javascript está desabilitado?

tem a tag noscript para isso acredito…

leoduval, tentei assim:

<script language='Javascript' type='text/javascript'>
window.onload = function() {
	var hasJava = window.navigator.javaEnabled();
	if (hasJava != true) {
	alert("O seu Javascript está desabilitado!");
}
}; 

</script>

Não respondeu não…

Tentei com a tag , mas tb não funciona.

O que eu preciso é evitar isto:

Eu uso e estou usando para esse fim, se um usuário acessar a página com javascript desabilitado vai acontecer isso, as imagens que estão com efeito jquery aparecerão uma embaixo da outra. Tem uns sites que até redirecionam o cara pra uma página dizendo para habilitar o javascript.

Abraço!

nenhum comando javascript vai funcionar: o javascript está desabilitado!

dentro de noscript você põe um aviso em html para o usuário …

Entendi AbelBueno, mas a tag não fica dentro do ? Coloquei lá mas diz que lá é lugar inválido.

veja um exemplo aqui

Agora vi que não é dentro do , beleza, funcionou aqui, mas têm como redirecionar o cara pra uma página em branco com uma msg ao invés de jogar a msg em cima da página com problema?

Opa!
Consegui um redirecionamento:

<script language="javascript">
  document.write("Bem vindo ao Tibumweb");
</script>
<noscript>Seu navegador não suporta javascript</noscript>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://localhost:8080/imobiliaria/no-script"> 

Valeu!!!

Fiz usando o Controller do VRaptor, lá na IndexController criei o método:

public void noscript() {
	}

E na jsp junto com o coloquei:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://localhost:8080/imobiliaria/index/noscript"> 

Vai chamar uma jsp personalizada. Tẽm como mandar pra index quando o cara ativar o javascript? =)

Essa idéia não deu certo, mesmo habilitando o javascript, cai no e manda pra página noscript. "/

Alguém têm alguma dica de como posso impedir o carregamento da index se o usuário estiver com o javascript desabilitado no browser? Todas as dicas que eu achei nas pesquisas e testadas aqui, não funcionaram…
Abraço!

Não sei se vai dar muito certo, mas vc pode ter uma página anterior ao index que tenha um JavaScript
que grave um cookie.
Depois esta página redireciona para uma url…
o servidor verifica se o cookie existe ou não para fazer ou não o redirecionamento para o login.

Outra dica e que, com certeza vai funcionar, é você inserir um flash(2 px largura por 2px de altura) dentro de uma div com um setTimeout de 4 segundos.

Exemplo:
No javascript você cria a função removeFlash();

function removeFlash(){
document.getElementById(“adiv”).innerHTML="";//Aqui remove o flash da página.
}

dentro do flash(ActionScript 2) você faz assim:

getURL(“javascript:removeFlash();”);//Essa função remove o flash da página html.

Se o javascript estiver desabilitado a função abaixo irá redirecionar o usuário para a sua página de aviso.
setTimeout(getURL,4000, “suapagina.html”,"_self");

Tem outras formas, mas acho que isso resolve seu problema…

...aqui você insere o seu flash

Boa sorte!

[quote=JavaEU]Outra dica e que, com certeza vai funcionar, é você inserir um flash(2 px largura por 2px de altura) dentro de uma div com um setTimeout de 4 segundos.

Exemplo:
No javascript você cria a função removeFlash();

function removeFlash(){
document.getElementById(“adiv”).innerHTML="";//Aqui remove o flash da página.
}

dentro do flash(ActionScript 2) você faz assim:

getURL(“javascript:removeFlash();”);//Essa função remove o flash da página html.

Se o javascript estiver desabilitado a função abaixo irá redirecionar o usuário para a sua página de aviso.
setTimeout(getURL,4000, “suapagina.html”,"_self");

Tem outras formas, mas acho que isso resolve seu problema…

...aqui você insere o seu flash

Boa sorte![/quote]

Pesquisando tanto consegui achar uma ótima solução, sem usar Flash.

<noscript> <meta http-equiv="refresh" content="1; url=http://www.site.com.br/pagina-no-js.html"> </noscript>

A qual redireciona-o para o site que está após “url=”, em 1 segundo, conforme content.
Obs.: Pode ser informado 0, para redirecionar diretamente.