Detectar quando o JavaScript está desativado no ASP.NET
-
05-07-2019 - |
Pergunta
No método Render de um web-controle ASP.NET, eu preciso alterar a saída do HTML com base em se JavaScript está ativado ou desativado no navegador de clientes,
Alguém sabe o encantamento certo para descobrir isso?
Solução
O problema com o uso de script para verificar se o javascript está habilitado é que você só descobrir isso depois que o script não foi executado.
Algumas soluções tente o contrário - eles usam javascript para definir um valor e, em seguida, fornecer Javascript habilitado controles se esse valor é posteriormente detectado. No entanto, esta falha com ferramentas, por vezes,-habilitado para javascript, como o plugin NoScript Firefox.
A solução mais robusta é sempre enviar o HTML simples controle compatível, e depois ter executar JavaScript no carregamento da página para adicionar os manipuladores de eventos corretos / elementos DOM extra / etc.
No entanto, eu não sei como isso se encaixa com a abordagem ASP.NET leva aos controles.
Outras dicas
O noscript tag é usada para definir um conteúdo alternativo (texto) se um script não é executado.
EDIT: Hi Kieron, dê uma olhada neste link: Criando um controle de servidor para JavaScript Testing e detectar se o JavaScript está ativado no ASPX
O navegador não comunicar disponibilidade Javascript com o pedido.
Uma coisa que eu fiz, embora eu não tenho certeza se é aplicável no seu caso, é gerar a página como se Javascript não está habilitado, em seguida, ter algum Javascript que desliga o material somente HTML e liga a HTML-Javascript coisas.
Você também pode ter a primeira página hit "phone home" via Javascript para gravar na sessão se o Javascript está habilitado ou não.
Esta é uma maneira de verificar quando um formulário está sendo submetido.
http://www.4guysfromrolla.com/webtech/082400-1.shtml
Eu não acho que haja qualquer imóvel que lhe dirá quando a página é primeiro solicitado. Existe uma propriedade que vai dizer se o navegador suporta JS, mas não se o seu habilitado. vê aqui
O que você precisa fazer é isso. Depois de muitos testes e noitadas, eu decidi usar a solução mais simples. Arraste um rótulo para o topo da página e certifique-se que lê "corrida no servidor". Então, para o atributo de texto, coloque Text = "Este site requer Javascript". Isso deve ser a melhor resposta. : D