asp.net javascript controls progressive-enhancement

Detecta cuando JavaScript está deshabilitado en ASP.NET



controls progressive-enhancement (5)

El navegador no comunica la disponibilidad de Javascript con la solicitud.

Una cosa que he hecho, aunque no estoy seguro de que sea aplicable en su caso, es generar la página como si Javascript no estuviera habilitado, luego tener algo de Javascript que apaga las cosas solo HTML y enciende el HTML-Javascript cosas.

También podría hacer que la primera página presione "phone home" a través de Javascript para registrar en la sesión si Javascript está habilitado o no.

En el método Render de un control web ASP.NET, necesito modificar el resultado de Html en función de si JavaScript está habilitado o deshabilitado en el navegador del cliente,

¿Alguien sabe el hechizo correcto para resolverlo?


El problema con el uso de secuencias de comandos para comprobar si Javascript está habilitado es que solo lo encuentra después de que el script no se haya ejecutado.

Algunas soluciones intentan lo contrario: usan javascript para establecer un valor y luego proporcionan controles habilitados para Javascript si ese valor se detecta más tarde. Sin embargo, esto no funciona con las herramientas javascript, a veces habilitadas, como el complemento Firefox NoScript.

Una solución más robusta es enviar siempre el control compatible con HTML simple, y luego ejecutar javascript en la carga de la página para agregar los controladores de eventos correctos / elementos DOM adicionales / etc.

Sin embargo, no sé cómo encaja esto con el enfoque de ASP.NET que lleva a los controles.


Esta es una forma de verificar cuándo se envía un formulario.

http://www.4guysfromrolla.com/webtech/082400-1.shtml

No creo que haya ninguna propiedad de Solicitud que le dirá cuándo se solicita la página por primera vez. Hay una propiedad que le dirá si el navegador admite JS, pero no si está habilitado. Mira aquí



Lo que debes hacer es esto. Después de muchas pruebas y noches de retraso, decidí usar la solución más simple. Arrastre una etiqueta en la parte superior de la página y asegúrese de que dice "ejecutar en el servidor". Luego, para el atributo Texto, coloque Texto = "Este sitio web requiere Javascript". Esa debería ser la mejor respuesta. :RE