Uno disabilita JavaScript in un ambiente browser a causa delle seguenti considerazioni:
- Velocità e larghezza di banda
- Usabilità e accessibilità
- Supporto della piattaforma
- Sicurezza
Velocità e larghezza di banda
Molte applicazioni usano troppo JavaScript per il loro bene ... Hai bisogno che parti della tua interfaccia siano sempre aggiornate dalle chiamate AJAX? Forse la tua interfaccia è fantastica e veloce se utilizzata con una connessione a banda larga, ma quando devi effettuare il downgrade a velocità di connessione più lente, è preferibile un'interfaccia più snella. E disattivare JavaScript è un buon modo per impedire alle app web stupide di rinfrescare il mondo ogni 15 secondi circa senza motivo. (Hai mai visto la quantità di dati inviati da Facebook? Fa paura. Non è solo un problema relativo a JS, ma ne fa parte).
Tendiamo anche a scaricare sempre più elaborazione sul client e, se si utilizza hardware minimalista (o appena obsoleto), è dolorosamente lento.
Usabilità e accessibilità
Non tutte le interfacce utente dovrebbero essere espresse in modo dinamico e il contenuto generato dal server potrebbe essere perfettamente accettabile in molti casi. Inoltre, alcune persone semplicemente non vogliono questo tipo di interfacce. Non puoi piacere a tutti, ma a volte hai la possibilità e il dovere di soddisfare tutti i tuoi utenti.
Infine, alcuni utenti hanno disabilità e non li ignorerai mai !!!
Gli scenari peggiori qui, a mio avviso, sono i siti Web del governo che cercano di "modernizzare" le loro interfacce utente per apparire più amichevoli per il pubblico, ma finiscono per lasciarsi dietro un grosso pezzo del pubblico previsto. Allo stesso modo, è un peccato quando uno studente universitario non può accedere al contenuto del suo corso: perché è cieco e il suo screen reader non supporta il sito o perché il sito è così pesante e richiede plug-in moderni ad hoc che non riesce a installarlo su quel laptop rinnovato acquistato su e-bay 2 anni fa, o di nuovo perché torna a casa in un altro paese per le vacanze di primavera e i vincoli di larghezza di banda locali non possono far fronte al carico utile del posto.
Non tutti vivono in un mondo perfetto.
Supporto della piattaforma
Questo punto si riferisce ai 2 precedenti e tende ad essere meno rilevante al giorno d'oggi, poiché i browser incorporano motori JavaScript con un livello di grandezza più efficiente di prima, e questo continua a migliorare.
Tuttavia, non esiste alcuna garanzia che tutti i tuoi utenti abbiano il privilegio di utilizzare i browser moderni (o a causa di vincoli aziendali - che ci costringono a supportare i browser antidiluviani senza una buona ragione, davvero - o altri motivi che potrebbero essere o non essere validi). Come menzionato da "Matthieu M." nei commenti, è necessario ricordare che molte persone usano ancora hardware di qualità inferiore e che non tutti usano lo smartphone più recente e più interessante. Ad oggi, c'è ancora una parte significativa di persone che usano telefoni con browser integrati con supporto limitato.
Ma, come ho già detto, le cose vanno meglio in questo settore. Ma allora devi ancora ricordare i punti precedenti sulle limitazioni della larghezza di banda se continui a eseguire il polling molto regolarmente (o i tuoi utenti godranno di una bella bolletta telefonica).
È tutto molto correlato.
Sicurezza
Mentre ovviamente potresti pensare che nulla di particolarmente pericoloso possa essere fatto con JavaScript considerando che funziona in un ambiente browser, questo è totalmente falso.
Ti rendi conto che quando visiti P.SE e SO, accedi automaticamente se eri connesso su qualsiasi altra rete, giusto? C'è un po 'di JS lì dentro. Quel bit è comunque innocuo, ma utilizza alcuni concetti che possono essere sfruttati da alcuni siti malevoli. È completamente possibile che un sito Web utilizzi JavaScript per raccogliere informazioni su alcune cose che fai (o hai fatto) durante la sessione di navigazione (o su quelle precedenti se non cancelli i dati della sessione ogni volta che esci dal browser o esegui ora comuni modalità di navigazione in incognito / privato) e quindi caricarle su un server.
Le vulnerabilità recenti (all'epoca funzionanti nei principali browser) includevano la possibilità di raccogliere i dati dei moduli di input salvati (provando combinazioni per te su una pagina malevola e registrando i testi suggeriti per ogni possibile combinazione di lettere iniziali, eventualmente dicendo agli aggressori chi sei , dove lavori e vivi ) o per estrarre la cronologia e le abitudini di navigazione ( un trucco molto intelligente che fa qualcosa di semplice come iniettare collegamenti nel DOM della pagina per abbinare il colore del collegamento e vedere se è stato visitato . Devi solo fare questo su una tabella abbastanza grande di nomi di dominio noti. E il tuo browser sta diventando più veloce nell'elaborazione di JavaScript, questo tipo di cose viene fatto rapidamente.)
Inoltre, non dimentichiamo che se il modello di sicurezza del tuo browser è difettoso o i siti web che visiti non si proteggono abbastanza dagli attacchi XSS, allora potresti usare JavaScript per accedere semplicemente alle tue sessioni aperte su siti Web remoti.
JavaScript è per lo più innocuo ... se lo usi per siti Web affidabili. Gmail. Facebook (forse ... e nemmeno ...). Lettore Google. StackExchange.
Ma sì certo, JavaScript non può essere così male, giusto? E ci sono comunque cose più spaventose da temere online. Come pensare di essere anonimo quando non sei così tanto , come dimostrato dall'esperimento Panopticlick del FEP . Che è anche parzialmente fatto usando JavaScript. Puoi persino leggere i loro motivi per disabilitare JavaScript per evitare l'impronta digitale del browser .
Detto questo, potrebbero esserci situazioni perfettamente buone in cui non è necessario preoccuparsi di supportare JavaScript. Ma se offri un sito Web di servizio pubblico, considera di accettare entrambi i tipi di client. Personalmente, penso che molte app e siti Web moderni funzionerebbero altrettanto bene usando il precedente modello di contenuto generato dal server senza JavaScript sul lato client, e sarebbe comunque ottimo e probabilmente molto meno consumato.
Il chilometraggio può variare in base al progetto.