Devo preoccuparmi di sviluppare JavaScript disabilitato? [duplicare]

97

Devo preoccuparmi di sviluppare JavaScript disabilitato?

Ritengo che il mio tempo sia meglio speso per lo sviluppo per la maggioranza.

    
posta Jiew Meng 28.05.2013 - 12:38
fonte

20 risposte

66

Esiste una filosofia di progettazione Web nota come Progressive Enhancement che è quella che dovresti prendere in considerazione. L'idea è di costruire un sito di base che sia utilizzabile e praticabile, e poi si sovrappone a questi miglioramenti come jQuery e cose specifiche del browser per "migliorarlo". In questo modo ottieni un sito che funziona per tutti e sembra carino per la maggioranza.

Se ciò non ti convince, considera altri motivi per cui un sito funziona senza javascript:

  • È più SEO friendly. Se il tuo sito si basa su JS per i contenuti e i link, è probabile che i motori di ricerca ignorino frammenti di grandi dimensioni.

  • Immagina di essere un sito di eCommerce che vende widget. Ora, anche se solo il 5% dei clienti disabilita javascript, si tratta di una potenziale perdita delle vendite del 5%. Vale la pena perdere clienti?

  • Non discriminare i disabili. Affidarsi a javascript significa che il tuo sito non è accessibile e, in alcuni casi (come i siti governativi / del settore pubblico), potresti essere infrangere la legge discriminando le persone.

risposta data 30.09.2011 - 16:00
fonte
43

Per uno, non sono d'accordo con le persone là fuori che insistono sul fatto che tutto dovrebbe funzionare senza Javascript. È bello codificare il minimo comune denominatore in molti casi (ad esempio, sarei davvero incazzato se il sito della mia banca richiedesse Flash o alcune assurdità.) Ma realisticamente quasi tutti hanno Javascript abilitato in questi giorni e se usato correttamente i siti risultanti possono essere abbastanza spettacolari e utili! (Voglio dire, vediamo quanto è bello Google Maps quando Javascript è disattivato ...)

Tuttavia, ciò non dovrebbe assolverti almeno assicurando che la tua pagina fallisca con garbo se Javascript non è presente. Mai MAI lasciare che i tuoi utenti guardino una pagina mezza carica e rotta senza indicazioni su cosa è andato storto. Basta chiedere a te stesso: preferirei trascorrere 2 minuti a scrivere un messaggio "Questa pagina richiede Javascript" o ricevere 10 email ogni giorno dagli utenti che mi dicono che la mia pagina è stata interrotta perché hanno noscript abilitato?

    
risposta data 13.12.2010 - 15:38
fonte
39

Sì, dovresti.

Se lo percepisci come qualcosa che richiede uno sforzo extra, potresti farlo nel modo contrario.

Sviluppa le tue pagine per lavorare senza JavaScript, quindi aggiungi miglioramenti basati su JavaScript, effetti Ajax e così via. Funzioneranno se JS è supportato / abilitato, altrimenti le tue pagine si degraderanno con garbo .

E per favore, non sviluppare le pagine dove:

  1. L'intero contenuto viene estratto dal database da JavaScript

  2. Il markup va completamente a pezzi perché gli elementi incollati e inseriti nei giusti posti da JavaScript non dai CSS

  3. I collegamenti nella navigazione e nel corpo non funzionano senza JavaScript (a meno che non sia un framework come ASP.NET che si basa su JavaScript per un motivo)

È solo contro lo spirito della rete e contro il buon senso.

P.S. Parlato da un utente di NoScript.

    
risposta data 13.12.2010 - 15:04
fonte
31

Come sviluppatore non mi preoccupo più dell'1% degli utenti che disattivano Javascript. È troppo dispendioso in termini di tempo e il tempo di sviluppo è troppo costoso da sprecare per tali assurdità. AJAX risparmia un'incredibile quantità di larghezza di banda che si trasforma direttamente in un risparmio su $$$, il che rende i profitti higer. Se perdo ogni uno o due utenti potenziali del sito per ogni 100 utenti, quelli uno o due utenti persi costeranno molto più nello sviluppo del reddito potenziale che potrebbero mai ottenere.

Prova a disattivare Javascript e ad accedere a Facebook, dopodiché diventa un sito Web molto danneggiato. Se è abbastanza buono per Facebook, è abbastanza buono per me.

    
risposta data 26.05.2011 - 16:08
fonte
11

Personalmente uso il NoScripts plug-in di Firefox durante la navigazione e incoraggio altri a usarlo. Su tutti i PC di famiglia, manterrò NoScripts è uno dei bit obbligatori del software che installo. L'ho creato con una whitelist dei siti di posta elettronica e bancari di base insieme al popolare social & siti di video e spiegare loro come funziona il permesso temporaneo. A giudicare dalla popolarità di questo plugin penso che ci sia una buona parte di persone che lo usano.

Per lo meno mi aspetto che la funzionalità di navigazione funzioni senza script. Se hai qualcosa di specifico come il video che richiede script allora va bene, ma mostra un segnaposto che dice "sono necessari degli script per vedere questo video".

Rendere la tua navigazione basata su script è comunque un grosso errore. In molti casi mi farà rimbalzare dal sito disgustato. Un errore ancora più grande è quello di far parte del tuo sito o della tua navigazione completamente scomparire quando gli script sono disabilitati. A meno che tu non evidenzi il fatto che manchi qualcosa c'è una buona possibilità che non se ne accorgerà, quindi lascerai il tuo sito pensando che non ci sia. Inoltre, un messaggio a schermo intero che dice solo "questo sito richiede script" non ti porterà molto lontano, ho bisogno di vedere un certo livello di contenuto prima di fidarmi di te abbastanza per consentire gli script.

Infine, non dimenticare che non sono solo i PC desktop che stanno esplorando il tuo sito, ma i browser mobili sono sempre più popolari. Anche se il supporto JavaScript per dispositivi mobili sta migliorando, non è affatto perfetto, quindi a meno che non testerai pesantemente tutti i diversi browser per dispositivi mobili ti suggerirei di cercare la versione mobile della tua pagina praticamente senza script.

    
risposta data 13.12.2010 - 15:01
fonte
9

Dipende dal sito e da chi lo utilizzerà.

Il sito è pubblico o è una intranet o un sito che sarà disponibile solo per determinati clienti? Probabilmente incontrerai utenti senza JavaScript nel pubblico. Se verrà utilizzato solo dai client, puoi dire che supporta solo JavaScript abilitato?

Il SEO è una considerazione o l'intero sito dietro una schermata di accesso o SEO non è altrimenti un fattore? È molto più semplice ottimizzare i motori di ricerca se non c'è JavaScript.

Il sito sarà mai utilizzato sui browser mobili? I browser per dispositivi mobili spesso non dispongono di supporto JavaScript scarso o scarso.

Devi anche capire che JavaScript può rendere difficile per gli screen reader l'elaborazione del tuo sito e ha altre considerazioni di accessibilità potenzialmente negative.

Anche gli utenti di browser testuali (ad esempio lynx) hanno un supporto JavaScript scarso o nullo.

Devi guardare il tuo sito e il tuo pubblico e decidere se è necessario supportare gli utenti che hanno JavaScript disabilitato. Devi anche vedere se è anche possibile non usare JavaScript. Se stai realizzando un'applicazione Web avanzata e hai bisogno di supporto per webcam e microfono, potrebbe essere impossibile non utilizzare JavaScript.

Se decidi che devi supportare gli utenti senza JavaScript, puoi comunque utilizzare JavaScript. Dovresti solo rendere il sito ancora funzionante senza di esso. Questo è chiamato miglioramento progressivo, dovrebbe degradarsi con grazia se non c'è supporto JavaScript.

Se decidi di richiedere JavaScript, devi avvisare i tuoi utenti (utilizzando il tag <noscript> ) che stai facendo.

    
risposta data 13.12.2010 - 23:49
fonte
8

Assolutamente

Un sito che non funziona correttamente senza JavaScript dovrebbe avvisare chiaramente l'utente. Il più possibile dovrebbe essere fatto per funzionare correttamente senza JavaScript. Ci sono alcuni casi in cui questo non sarà possibile, siti altamente dinamici costruiti su strati di AJAX e recuperi remoti sono uno di questi. Questo non significa che va bene mostrare una pagina vuota se ho JavaScript disabilitato.

Il degrado aggraziato è estremamente importante e non si applica solo a JavaScript, si applica a tutto ciò che codifica. Marcatura HTML valida, CSS valido, convalida lato server di tutto .

    
risposta data 13.12.2010 - 14:55
fonte
8

Posso consigliare un articolo da "A List Apart":

Progressive Enhancement with JavaScript

...We’ve reviewed the mindset needed to implement progressive enhancement in JavaScript and several techniques through which to do it. We’ve also touched on the concept of unobtrusive scripting and learned a little about how to manage the inter-relationship of CSS and JavaScript.

Quando combini l'approccio generale con quell'articolo con strumenti utili come JQuery (o Prototype, o qualunque sia il tuo framework JavaScript di scelta), è davvero banale applicare il comportamento di JavaScript dopo il fatto.

Ci sono diversi tipi di browser là fuori che non hanno ancora JavaScript o supporto per JavaScript molto limitato. Senza contare che la regola n. 1 per entrambe le WCAG e la conformità alla sezione 508 (accessibilità per le persone non statunitensi) è che la vista non dipende da un linguaggio di scripting per funzione . Se la pagina si ricarica ogni volta che apporto una modifica, ma mi consente comunque di apportare modifiche, sta funzionando. Il livello AJAX in cima al sito di base mi consente di fare lo stesso senza ricaricare la pagina.

I principali motivi per cui non posso supportare gli utenti JavaScript sono:

  • Supporto di persone con disabilità (lettori di schermo, dispositivi di input alternativi, ecc.)
  • Supporto per le persone attente alla sicurezza: ammettiamolo, ci sono persone cattive che fanno cose odiose con JavaScript, quindi la soluzione più semplice è sbarazzarsi di JavaScript
  • È il modo più semplice per disattivare gli annunci senza un plug-in
  • Dispositivi mobili e integrati
  • Browser da riga di comando utilizzati per scaricare strumenti su server senza testa
  • Gli spider dei motori di ricerca seguono solo collegamenti reali - JavaScript li confonde

Per favore, se hai intenzione di richiedere i cookie e JavaScript sul tuo sito per farlo in funzione , allora esegui correttamente la tua due diligence per evitare i seguenti problemi con quanto segue:

  • Attacchi di scripting cross-site
  • Tracciamento degli utenti di terze parti
  • Hacking / Defacement tramite manipolazione DOM
  • Phishing (se uno script può accedere al tuo DOM, può inviare qualsiasi informazione sulla pagina al server dal quale è stato caricato)

(E questa è solo la short list)

Quando la soluzione non è così difficile, perché non farlo?

Inoltre, mentre sei alla tua festa di JavaScript, non dimenticare di supportare la sana tastiera di navigazione.

    
risposta data 28.05.2013 - 12:38
fonte
3

Su un sito come questo troverai molti sviluppatori che ti dicono come hanno Javascript disabilitato, quindi dovresti supportare il miglioramento progressivo. In realtà il 5% delle persone che hanno disabilitato Javascript, il 90% di loro sono sviluppatori e altri fanatici della tecnologia, non sono il pubblico in generale. La maggior parte dei siti principali non supporta il miglioramento progressivo. Hai provato a usare Facebook senza Javascript? In pratica dicono di andare via.

    
risposta data 14.12.2010 - 02:01
fonte
2

< Il 5% degli utenti disabilita JavaScript

Secondo BrowserStatistics , nel 2008 solo il 5% degli utenti aveva disattivato JavaScript. La tendenza è in costante calo, quindi è molto sicuro supporre che ora, vicino al 2011, questo numero sia molto più piccolo.

Esegui il downgrade con precisione

Il tuo sito dovrebbe mai essere interrotto, indipendentemente dal fatto che gli utenti abbiano attivato o disattivato JS. Anche se è semplice come visualizzare un messaggio sul fatto che il tuo sito ha bisogno di javascript attivato, dovresti assicurarti che il tuo sito web esegua il rendering e si comporti in modo accettabile e non interrotto per quei pochi selezionati.

Rielaborazione per utenti non JS? Normalmente: No.

Lo sviluppatore ordinario non ha bisogno di creare una versione non javascript in un'altra lingua. Tuttavia, se è noto che i tuoi clienti hanno esigenze anti-JavaScript, allora ovviamente sei costretto a provvedere ad esso. (Anche GMail ha una versione no-JS)

    
risposta data 27.08.2011 - 01:55
fonte
1

Solo su funzionalità mission critical

Generalmente è una buona idea "degradare con grazia". Tuttavia, vorrei concentrarmi solo su parti mission critical della tua applicazione web, per far fronte a situazioni in cui JavaScript potrebbe non essere disponibile.

Se è solo un effetto "campane e fischi", allora non preoccuparti. Le persone che deliberatamente navigano con JavaScript non potranno fare altro che fare un'esperienza semplice (hey è la loro scelta per non usare Js)

    
risposta data 13.12.2010 - 15:16
fonte
1

I miei pensieri:

L'utilizzo di javascript aumenterà sempre l'area di superficie per gli attacchi, non solo per te, ma per i tuoi clienti: quasi tutti quelli che conosco navigano con NoScript e questo include persone non tecniche.

Se vedo un sito di acquisti online che utilizza male javascript, non comprerò da loro. Per prima cosa navigo sempre con javascript disabilitato, e se un sito si degrada con garbo potrei essere interessato. Se è solo rotto, di solito suppongo che anche i programmatori non abbiano la capacità di fornire una piattaforma di negozio sicura.

Tende a rallentare tutto - nonostante sia vicino a una grande città, la mia banda larga è abbastanza lenta senza dover aspettare qualche idea di marketing da caricare. Se un sito impiega più di 5 secondi per caricare contenuti di base, non mi preoccuperò se non ne avrò un reale bisogno.

    
risposta data 17.12.2010 - 17:01
fonte
1

La maggior parte delle risposte qui sembrano evidenziare le critiche dei siti web standard che utilizzano JavaScript in modi non essenziali o hacky. Ma per quanto riguarda le app Web? Ci sono un sacco di funzioni critiche che non possono essere raggiunte neanche lontanamente così efficacemente senza JavaScript. Anche qualcosa di semplice come un contatore di parole di base sotto un'area di testo, o abilitare / disabilitare una domanda di modulo aggiuntiva basata sulla risposta ad un'altra. In questo caso non è ragionevole costruire per la maggioranza e degradare con garbo per la minoranza? Soprattutto se sai che la tua base di utenti è non tecnica e improbabile che JS sia disabilitato?

    
risposta data 16.01.2013 - 01:06
fonte
0

Cose da considerare:

AFAIK, gli spider dei motori di ricerca non amano Javascript. Dovresti avere contenuti di base e navigazione senza Javascript solo per SEO.

Alcuni siti Web potrebbero disporre di regole per l'accesso da parte dei disabili, sia per ragioni legali che per i criteri aziendali. Di solito è meglio farlo con HTML semplice rispetto a Javascript.

Mentre la maggior parte delle persone naviga con Javascript al giorno d'oggi, questa non è una garanzia per il futuro. Il web sta diventando sempre più ostile e strumenti come NoScript potrebbero diventare più popolari. In alternativa, è possibile che più persone utilizzino dispositivi con browser meno potenti, sebbene con alcuni telefoni Android che sono piuttosto economici questo sembra meno probabile. Il degrado aggraziato potrebbe essere un modo per testare il sito in futuro.

    
risposta data 13.12.2010 - 23:18
fonte
0

Sì.

Non ho intenzione di parlare di persone con NoScript, dispositivi embedded, ecc. La loro quota può essere misurata e quindi puoi decidere se la diminuzione delle entrate causata da fastidiosi, ad es. 0,5% di utenti vale la pena implementare una soluzione per loro.

Ma ci sono altri motivi per seguire il principio del miglioramento progressivo, e spesso sono più importanti.

  1. 100% utenti non possono eseguire javascript prima che vengano caricati gli script. Se il sito può funzionare senza js, può essere caricato più velocemente per i visitatori per la prima volta, i visitatori con cache vuota e per tutti i visitatori dopo gli aggiornamenti del codice js.

  2. I siti che possono funzionare senza js sono più affidabili. L'errore di Javascript che rompe un sito Web è un incubo architettonico. Maggiori informazioni su questo e problemi correlati: link

  3. È più facile attenersi a Progressive Enhancement piuttosto che implementare un sito solo per javascript SEO.

  4. È più facile scrivere test automatici per siti che non richiedono il javascript per funzionare.

In realtà è abbastanza facile seguire il principio del miglioramento progressivo, quindi perché non seguirlo?

    
risposta data 28.03.2011 - 08:04
fonte
0

Dipende dalla risposta a una singola domanda:

"Il costo di supportare utenti con Javascript disabilitato superiore o inferiore al denaro perso non supporta quegli utenti?"

Supponete che il vostro sito abbia una vita di 3 anni prima di dover essere ricostruito, costa £ 30.000 da compilare per "clienti ricchi" e aggiungete altri £ 10.000 a supporto di utenti non javascript (di cui assumeremo lì sono il 5% di)

Se il 5% mancante degli utenti avrebbe speso più di £ 10.000, fallo. Se non lo faranno, non farlo a meno che non sia richiesto per legge.

Questa è più una decisione aziendale / economica che una tecnica.

    
risposta data 28.05.2013 - 13:49
fonte
-1

No, non dovresti

Con due eccezioni:

  1. Contenuto che desideri essere indicizzato dal motore di ricerca. (Ciò non significa che debba avere un bell'aspetto, purché i collegamenti funzionino e il contenuto sia individuabile).
  2. Siti mobili semplici che devono funzionare su tutti i dispositivi. (Alcuni BlackBerry hanno JS disabilitato di default, e molti non-smart non ne hanno affatto.)

Per i siti Web desktop e touch, Javascript offre un'esperienza utente incredibilmente ricca. C'è una ragione per cui tutti i migliori siti web fanno ampio uso di AJAX e Javascript. Tutti i browser attuali lo supportano. Abbracciarlo!

Come qualcuno che ha sudato in passato per far funzionare un intero sito Web con Javascript disabilitato, posso assicurare a chiunque che finirà per degradare l'esperienza per il 99% al fine di accontentare l'1%.

Piuttosto basta inserire un tag NOSCRIPT che indica a quegli utenti di abilitare Javascript. Ci saranno abituati.

    
risposta data 14.12.2010 - 01:13
fonte
-1

Dipende molto dal tuo mercato di riferimento. Se il tuo mercato di riferimento è non tecnologico, sei abbastanza sicuro ignorando javascript disabilitato. Tuttavia, se cerchi techies, beh, la maggior parte di quelli che conosco hanno javascript disabilitato ... Avrai bisogno di supportarli a meno che tu non voglia la piccola parte di techies che permette javascript (io sono uno dei la minoranza, lascio javascript sulle mie macchine). : -)

    
risposta data 28.05.2013 - 14:18
fonte
-2

JavaScript disabilitato è estremamente importante e dovresti supportarlo. L'industria del porno è famosa per lo spamming degli utenti con finestre pop-up. La disabilitazione di JavaScript è praticamente necessaria se navighi in questo territorio.

Vuoi davvero forzare gli utenti a attivare / disattivare JavaScript in modo permanente mentre escono da siti di reputazione discutibile alla tua app?

    
risposta data 27.08.2011 - 04:12
fonte
-4

Perché dovresti usare JavaScript? Comunque non è necessario per qualcosa di utile. Aggiungilo per effetti stupidi, se lo desideri, ma fallo funzionare per noi seduti su un nuovo netbook / iPod lento / qualsiasi cosa voglia farlo funzionare un po 'più veloce (e più sicuro) girando JavaScript!

    
risposta data 28.03.2011 - 05:33
fonte

Leggi altre domande sui tag