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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top