2011-02-16 10 views
7

Sembra proprio qualcosa che sarebbe davvero utile nello sviluppo del codice lato server. Se sai che il browser non utilizzerà javascript dal lato server, potresti facilmente ospitare l'utente. Oppure, se ti è appena piaciuto, reindirli a una pagina che dice "hey ... abbiamo bisogno che tu usi javascript per la nostra applicazione" ecc.Perché i browser non inviano se hanno javascript abilitato/disabilitato nell'intestazione della richiesta?

Qualcuno sa perché questo è?

+0

La domanda è "perché", quindi non ha nulla a che fare con la programmazione, ma se tu avessi chiesto "come", avrei risposto: puoi scrivere un javascript che dirà al server che javascript è abilitato. Se non lo fa, allora è disabilitato. – zvone

+0

@zvone - ciò comporterebbe 2 richieste, e se si osa farlo su SO, si scende, si vota, e se si propone qualche soluzione si viene sottovalutati anche perché non è "perfetto" .. QUANTO era grande ora sembra che le opinioni vadano oltre i fatti ... i geek e il loro BS. – argon

risposta

2

Vedere il tag <noscript>, here.

So che probabilmente non è l'ideale (non ho abbastanza esperienza con esso per distinguerlo) ma certamente ci dà abbastanza flessibilità da degradare un po 'con grazia.

+0

Non degradare - * valorizzare * (progressivamente) –

+3

Bene, dobbiamo solo tracciare la linea a _fallback adeguatamente? –

0

Il vero motivo è che quando Netscape è uscito con JavaScript, non hanno mai pensato di rendere le informazioni disponibili nelle intestazioni HTTP. Invece hanno creato il tag <noscript>.

-1

Suppongo che il campo Accetta possa essere utilizzato a tale scopo, come "Accetta: testo/javascript". Ma dal momento che è proprietario, l'IETF non lo includerebbe mai in nessuno standard e pertanto un adattamento diffuso è improbabile. Gli sviluppatori Web hanno affrontato finora.

+1

Non proprio. Ciò direbbe al server che può inviare JavaScript anziché HTML. – ThiefMaster

+0

Questo è vero, mio ​​cattivo. – JonC

0

maneggevole come sarebbe avere il vostro server essere a conoscenza della capacità Javascript del browser prima che iniziasse il rendering delle pagine, posso vedere un caso limite strano come ad esempio:

// 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

E cosa impedisce loro di usare l'exploit javascript senza fare il check-in? – CanSpice

+0

Perché le persone con Javascript disattivati ​​possono ancora vedere che hanno tentato di sfruttare. :) – drudge

1

Un modo che uso è quello di avere una pagina di destinazione/pagina di accesso. Quando l'utente preme il pulsante di accesso, utilizzare javascript per inviare i risultati o aggiornare un campo nascosto prima di pubblicare l'accesso. Se javascript è disabilitato, il javascript non funzionerà e quindi si può presumere di averlo spento.

Problemi correlati