it-swarm.it

Perché le persone disabilitano JavaScript?

Ho fatto una domanda ieri Dovrei preoccuparmi di sviluppare per JavaScript disabilitato? . Penso che il consencus sia: Sì, dovrei sviluppare per JavaScript disabilitato. Ora voglio solo capire perché gli utenti disabilitano JS. Sembra che molti sviluppatori (immagino che le persone che hanno risposto alle domande siano sviluppatori) disabilitino JS. Perché. Perché gli utenti disabilitano JS? Per sicurezza? Velocità? o cosa?

60
Jiew Meng

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 di aggiornare parti della tua interfaccia di AJAX chiama sempre? Forse la tua interfaccia è fantastica e veloce quando utilizzato con una connessione a banda larga, ma quando è necessario eseguire il downgrade a velocità di connessione più lente, si preferisce un'interfaccia più snella. Disattivare JavaScript è un buon modo per impedire alle app sbalordite di aggiornare il mondo ogni 15 secondi circa per nessuna buona ragione (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 luogo.

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, ci sono 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 poi devi ancora ricordare i punti precedenti sulle limitazioni della larghezza di banda se continui a eseguire il polling molto regolarmente (o i tuoi utenti apprezzeranno una bolletta telefonica di Nizza).

È 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'è qualche JS lì dentro. Quel bit è comunque innocuo, ma utilizza alcuni concetti che possono essere sfruttati da alcuni siti malevoli. È completamente possibile per un sito Web utilizzare JavaScript per raccogliere informazioni su alcune cose che fai (o hai fatto) durante la sessione di navigazione (o su quelle passate se non lo fai cancella i dati della sessione ogni volta che esci dal browser o esegui le modalità di navigazione in incognito/private ora comuni) e poi caricalo 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 , possibilmente dicendo agli aggressori chi sei, dove lavori e vivi ) oppure estrai la cronologia di navigazione e le abitudini ( n hack molto intelligente che fa qualcosa di semplice come iniettare collegamenti nel DOM della pagina in modo che corrispondano al colore del collegamento e vedere se è stato visitato . Devi solo farlo su una tabella abbastanza grande con nomi di dominio noti. E il tuo browser sta diventando più veloce nell'elaborazione di JavaScript, questo tipo di cosa 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 anonimi quando non lo sei davvero , come mostrato dall'esperimento Panopticlick dell'effetto EFF . 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.

81
haylem

Perché fidarsi di qualcuno per scrivere un divertente fumetto ogni mattina e fidarsi di qualcuno per eseguire arbitrariamente codice completo di Turing sul mio computer sono due molto cose diverse.

46
Jörg W Mittag

Non sono uno sviluppatore web e ho solo una moderata comprensione del modo in cui funziona Internet. Quindi questa è una risposta da un utente.

La mia esperienza mi porta a credere che molti siti siano semplicemente scarsamente codificati, sia per pigrizia che per ignoranza: quando visualizzerei una pagina Web sostanzialmente statica, come una pagina Facebook, il mio utilizzo della CPU aumenterebbe di qualcosa come il 15% e drasticamente di più con più schede. Alla fine è arrivato al punto in cui avrei dovuto attendere una risposta dopo aver fatto clic su un pulsante o un collegamento e la mia CPU si sarebbe surriscaldata e bloccata.

Su molti di questi peggiori criminali (siti), nulla di visibile sta cambiando e nulla di interattivo sta accadendo. Potevo solo supporre che il codice del sito facesse costantemente aggiornamenti eccessivi, sondaggi e loop infiniti.

Questo mi ha spinto a installare NoScript per liberare il mio utilizzo della CPU e smettere di navigare diventando un compito frustrante.

L'altro meraviglioso componente aggiuntivo che utilizzo è FlashBlock .

16
Mark C

Disattivo JS per motivi di velocità. TechCrunch senza JavaScript richiede alcuni secondi per essere caricato con una cache innescata. Con JavaScript ci vogliono quasi 20 secondi, più se la cache non è adescata.

Molti siti si sono gonfiati di JavaScript, in particolare gallerie di immagini e siti commerciali. La rimozione di questo ti offre una migliore esperienza di navigazione nella maggior parte dei casi.

10
Josh K

Per me tutto sulla sicurezza. Uso noscript per consentire a determinati siti Web di eseguire javascript, mentre non lo autorizzo più.

Alla fine non si sa mai dove si trova il pericolo ( sito nobel infetto su techspot.com ). Molti exploit zero-day (e altri) usano javascipt; chiudere questa strada d'attacco sembra un passo nella giusta direzione.

8
kasterma

La mia ragione principale è che sopprime le pubblicità più fastidiose. Preferirei non utilizzare AdBlock Plus, poiché ciò può influire sulle entrate per i siti che visito (e ho utilizzato un sito o due in cui i termini di servizio dicevano che non avrei dovuto disabilitare gli annunci). NoScript limita la potenziale odiosità delle pubblicità e sono disposto a convivere con le altre.

C'è anche la considerazione della sicurezza, e questo è in gran parte correlato anche agli annunci, poiché qualsiasi sito che vende annunci deve essere considerato potenzialmente ostile.

Inoltre, non so necessariamente che un sito sia pericoloso prima di visitarlo. Ad alcune persone piace inviare link a siti e non sono necessariamente onesti.

7
David Thornley

Perché i browser avevano implementazioni JavaScript lente e troppi web designer n00b lo usavano solo per cose irrilevanti come il rollover dei pulsanti.

Su una macchina veloce, con un browser moderno, nessuno nella sua mente giusta lo disabilita sempre. Il che non vuol dire che non ci sono molte persone molto "sensibili alla sicurezza" e altri senza i fondi, il desiderio o il know-how per eseguire un browser moderno su un computer veloce ... È stato solo di recente che IE6 ha smesso di essere il browser più popolare su Internet!

4
Kevin Cantu

Con Javascript attivato, qualsiasi sito Web può eseguire il codice sul mio computer. Non so nemmeno se il sito Web specifico esegue il codice e cosa fa. Ancora peggio, qualcun altro può inserire il codice a mia insaputa in un sito Web normalmente innocuo (XSS). Recentemente una nota rivista di informatica tedesca non ha realizzato un articolo, mentre un sedicenne ha provato i siti di servizi bancari online delle banche più comuni in Germania. Molti di loro - incluso il più grande - erano vulnerabili a XSS. E non ti accorgi nemmeno che il tuo sito di online banking esegue alcuni Javascript che cambiano ad esempio il target e l'importo di una transazione. Con Javascript disabilitato l'attacco XSS nel contesto di un sito attendibile è inutile, non eseguo il codice dannoso.

2
Mnementh