2011-02-16 17 views
7

Parece algo que sería realmente útil al desarrollar el código del lado del servidor. Si sabe que el navegador no usará javascript desde el lado del servidor, podría acomodar fácilmente al usuario. O si simplemente te dio la gana, redirigirlos a una página que dice 'eh ... necesitamos que uses javascript para nuestra aplicación', etc.¿Por qué los navegadores no envían si tienen javascript habilitado/deshabilitado en el encabezado de la solicitud?

¿Alguien sabe por qué es esto?

+0

La pregunta es "por qué", por lo que no tiene nada que ver con la programación, pero si hubiera preguntado "cómo", habría respondido: Puede escribir un javascript que le dirá al servidor que javascript está habilitado. Si no es así, entonces está deshabilitado. – zvone

+0

@zvone - eso daría como resultado 2 solicitudes, y si uno se atreve a hacerlo en SO, se le aplica un voto negativo, y si propone alguna solución también se le aplica un voto negativo porque no es "perfecto". ASÍ QUE solía ser genial , ahora parece que las opiniones ganan con los hechos ... geeks y sus BS. – argon

Respuesta

2

Consulte la etiqueta <noscript>, here.

Sé que probablemente no sea lo ideal (no tengo suficiente experiencia para separarlo) pero ciertamente nos da la suficiente flexibilidad para degradarnos un poco con gracia.

+0

No degradar - * mejorar * (progresivamente) –

+3

Bueno, vamos a dibujar la línea en _fallback adecuadamente_? –

0

La verdadera razón es que cuando Netscape salió con JavaScript, nunca pensaron en hacer que la información estuviera disponible en los encabezados HTTP. En su lugar, crearon la etiqueta <noscript>.

-1

Supongo que el campo Aceptar podría utilizarse para tal fin, como "Aceptar: texto/javascript". Pero dado que es propiedad, el IETF nunca lo incluiría en ningún estándar y, por lo tanto, es poco probable una adaptación generalizada. Los desarrolladores web lo han cubierto hasta ahora.

+1

No realmente. Eso le diría al servidor que puede enviar JavaScript de vuelta en lugar de HTML. – ThiefMaster

+0

Eso es verdad, mi mal. – JonC

0

Como práctico, ya que sería para que el servidor tenga en cuenta de la capacidad de Javascript de su navegador antes de que comenzara la renderización de páginas, puedo ver un caso extremo extraña tales como:

// hide malicious code from people without javascript 
if ($header['javascript'] == 'false') { 
    show_regular_safe_website(); 
} else { 
    use_some_nasty_javascript_exploit(); 
} 
+0

........... ¿eh? – Pedro

+1

¿Y qué es lo que les impide simplemente usar el exploit javascript sin hacer el control? – CanSpice

+0

Porque las personas con Javascript desactivado todavía pueden ver que intentaron explotar. :) – drudge

1

Una forma en que uso es tener una página de aterrizaje/página de inicio de sesión. Cuando el usuario presiona el botón de inicio de sesión, utiliza javascript para enviar los resultados o actualizar un campo oculto antes de publicar el inicio de sesión. Si javascript está desactivado, el javascript no funcionará y, por lo tanto, puede suponer que lo tienen desactivado.

Cuestiones relacionadas