Por que as pessoas desativam o JavaScript?


59

Fiz uma pergunta ontem Devo me preocupar em desenvolver o JavaScript desativado? . Penso que o consenso é: Sim, devo desenvolver para o JavaScript desativado. Agora eu só quero entender por que os usuários desabilitam o JS. Parece que muitos desenvolvedores (acho que as pessoas que responderam às perguntas são desenvolvedores) desativam o JS. Por que é que. Por que os usuários desabilitam o JS? Para segurança? Rapidez? ou o que?


9
Acho que você está fazendo suposições com base em evidências anedóticas. Fato é que 99,7% dos usuários não desativam o JS. De fato, se eles realmente tivessem o JS desativado, não teriam respondido à pergunta aqui, porque este site não funciona sem o JS.
vartec 28/05

2
Eu não conheço ninguém que conhece.
Kirk.burleson

6
@art, @kirk: Conheço muitas pessoas que conhecem, ou pelo menos em parte. Muitas pessoas preocupadas com segurança só permitem o JavaScript nos sites que estão na lista de permissões, por exemplo. E conheço muitas pessoas que desabilitam o JS em seus smartphones, pois geralmente valem a bateria que consomem.
21116 haylem

1
Por padrão, tenho o javascript desativado no Chrome, por motivos de segurança, embora eu o ative para sites que valem a pena. Eu realmente não gosto que tantos sites não funcionem sem javascript, há mais e mais deles que não funcionam.
Czarek Tomczak

2
@HannesKarppila Eles ainda podem usar cookies entre domínios e imagens de rastreamento de bugs na web, etc. Os usuários de rastreamento funcionam bem, a menos que desativem o javascript e os cookies. Nesse caso, a Internet é bastante inutilizável.
NickG

Respostas:


80

Um desabilita o JavaScript em um ambiente de navegador devido às seguintes considerações:

  • Velocidade e largura de banda
  • Usabilidade e Acessibilidade
  • Suporte de plataforma
  • Segurança

Velocidade e largura de banda

Muitos aplicativos usam JavaScript demais para o seu próprio bem ... Você precisa que partes da sua interface sejam atualizadas por chamadas AJAX o tempo todo? Talvez sua interface pareça ótima e rápida quando usada com uma conexão de banda larga, mas quando você precisar fazer o downgrade para velocidades de conexão mais lentas, é preferida uma interface mais simplificada. E desativar o JavaScript é uma boa maneira de impedir que aplicativos da Web estupefatos atualizem o mundo a cada 15 segundos ou mais, sem uma boa razão. (Já olhou para a quantidade de dados que o Facebook envia? É assustador. Porém, não é apenas um problema relacionado ao JS, mas é parte dele).

Também tendemos a descarregar cada vez mais o processamento para o cliente e, se você usa hardware minimalista (ou apenas desatualizado), é dolorosamente lento.

Usabilidade e Acessibilidade

Nem todas as interfaces de usuário devem ser expressas de maneira dinâmica, e o conteúdo gerado pelo servidor pode ser perfeitamente aceitável em muitos casos. Além disso, algumas pessoas simplesmente não querem esse tipo de interface. Você não pode agradar a todos, mas às vezes você tem a chance e o dever de satisfazer todos os seus usuários.

Finalmente, alguns usuários têm deficiências, e você nunca as ignorará !!!

Os piores cenários aqui, na minha opinião, são sites do governo que tentam "modernizar" suas interfaces de usuário para parecerem mais amigáveis ​​ao público, mas acabam deixando para trás uma grande parte do público-alvo. Da mesma forma, é uma pena que um estudante universitário não possa acessar o conteúdo do curso: porque é cego e o leitor de tela não suporta o site, ou porque o site é muito pesado e requer plug-ins modernos ad-hoc que ele / ela não consegue instalar no laptop recondicionado comprado no e-bay há 2 anos, ou novamente porque ele volta para casa em outro país para as férias de primavera e as restrições locais de largura de banda não conseguem lidar com a carga útil do local.

Nem todo mundo vive em um mundo perfeito.

Suporte de plataforma

Esse ponto está relacionado aos dois anteriores e tende a ser menos relevante hoje em dia, pois os navegadores incorporam mecanismos JavaScript que são um nível de magnitude mais eficiente do que costumavam ser, e isso continua melhorando.

No entanto, não há garantia de que todos os seus usuários tenham o privilégio de usar navegadores modernos (devido a restrições corporativas - que nos obrigam a oferecer suporte a navegadores antediluvianos sem um bom motivo, na verdade) ou por outros motivos que podem ou não ser válidos). Como mencionado por "Matthieu M." nos comentários, é preciso lembrar que muitas pessoas ainda usam hardware de qualidade inferior e que nem todo mundo usa o smartphone mais recente e bacana. Atualmente, ainda existe uma parcela significativa de pessoas usando telefones que possuem navegadores incorporados com suporte limitado.

Mas, como mencionei, as coisas melhoram nessa área. Mas você ainda precisa se lembrar dos pontos anteriores sobre as limitações de largura de banda se continuar pesquisando com muita regularidade (ou seus usuários terão uma boa conta telefônica).

É tudo muito inter-relacionado.

Segurança

Embora obviamente você possa pensar que nada de particularmente perigoso possa ser feito com o JavaScript, considerando que ele é executado em um ambiente de navegador, isso é totalmente falso.

Você percebe que, quando visita P.SE e SO, é automaticamente conectado se estiver conectado a qualquer outra rede, certo? Há algumas JS lá. Essa parte ainda é inofensiva, mas usa alguns conceitos que podem ser explorados por sites malévolos. É completamente possível que um site use JavaScript para coletar informações sobre algumas coisas que você faz (ou fez) durante sua sessão de navegação (ou as anteriores, se você não limpar os dados da sessão sempre que sair do navegador ou executar o agora modos de navegação anônima / privada comuns extensivamente) e, em seguida, basta enviá-los para um servidor.

As vulnerabilidades recentes (trabalhando nos principais navegadores da época) incluíam a capacidade de coletar os dados dos formulários de entrada salvos (testando combinações para você em uma página malévola) e registrando os textos sugeridos para cada possível combinação de letras iniciais, possivelmente dizendo aos atacantes quem você é , onde você trabalha e mora ) ou para extrair seu histórico e hábitos de navegação ( um truque muito inteligente que faz algo tão simples quanto injetar links no DOM da página para combinar com a cor do link e ver se ele foi visitado . Você só precisa fazer isso em uma tabela grande o suficiente de nomes de domínio conhecidos. E seu navegador está ficando mais rápido no processamento de JavaScript, esse tipo de coisa é feita rapidamente.)

Além disso, não devemos esquecer que, se o modelo de segurança do seu navegador é defeituoso ou os sites que você visita não se protegem o suficiente contra ataques XSS, pode-se usar o JavaScript para simplesmente acessar suas sessões abertas em sites remotos.

O JavaScript é inofensivo ... se você o usar em sites confiáveis. Gmail. Facebook (talvez ... e nem mesmo ...). Leitor do Google. StackExchange.

Mas sim, claro, o JavaScript não pode ser tão ruim, certo? E há coisas mais assustadoras a temer online de qualquer maneira. Como pensar que você é anônimo quando realmente não é muito , como mostra o experimento Panopticlick da EFF . O que também é parcialmente feito usando JavaScript. Você pode até ler os motivos deles para desativar o JavaScript e evitar impressões digitais do navegador .


Tudo isso dito, pode haver situações perfeitamente boas em que você não precisa se preocupar em dar suporte ao JavaScript. Mas se você oferecer um site de serviço público, considere aceitar os dois tipos de clientes. Pessoalmente, acho que muitos aplicativos e sites modernos funcionariam tão bem quanto o antigo modelo de conteúdo gerado pelo servidor sem JavaScript no lado do cliente, e ainda assim seria ótimo e possivelmente muito menos consumível.

Sua milhagem pode variar dependendo do seu projeto.


5
O Facebook, por exemplo, é um dreno fantástico em sua CPU. Eu me deparei com alguns sites que eram tão mal codificados (ou pareciam ser) que basicamente congelavam meu computador carregando completamente a CPU (com algumas outras guias abertas).
Mark C

3
@ Mark C: Considero enviar até 140K para clicar em "enviar" quando digito um comentário, um uso um pouco exagerado de formulários da web, honestamente. Pode ter ocorrido em casos específicos na época e que foram corrigidos desde então (espero). Eu morei por um curto período em um país com uma postura hum, restritiva em relação à censura na Internet e com uma qualidade de conexão não tão boa, e isso faz com que você aprecie muito mais os bons e antigos sites baseados em texto!
haylem

8
+1 por mencionar acessibilidade. Metade da maldita web é completamente inutilizável para mim, e eu não sou um usuário casual de computador nem preciso contar com o JAWS (ainda).
Stan Rogers

2
@ Stan Rogers: isso importa muito para mim. Tive a chance de trabalhar com um cego na universidade, que era aluno e professor, e fiquei impressionado com as habilidades dele. E acho bastante triste que grandes empresas e até instituições educacionais criem sites artísticos de baixa qualidade onde esses usuários são deixados de fora.
haylem

2
+1 para acessibilidade. Eu trabalho para um site que está muito relacionado à assistência médica. (Felizmente, não o abismal nas notícias). Tanto quanto JS nos dá, fico muito triste com nossas prioridades.
Katana314

46

Porque confiar em alguém para escrever uma história em quadrinhos engraçada todas as manhãs e confiar em alguém para executar um código arbitrário completo de Turing no meu computador são duas coisas muito diferentes.


3
+1 para a analogia engraçada. Embora o fato de estar completo com Turing não tenha nada a ver com a periculosidade da execução.
haylem

4
@haylem: Ser completo em Turing significa que é impossível provar mecanicamente a segurança no caso geral. Caramba, é até impossível provar coisas básicas como essa que não dura para sempre. Para uma linguagem mais restritiva, seria possível ao navegador do cliente provar que o script não está fazendo algo perigoso.
Jörg W Mittag

22
Turing-completeness é apenas sobre computabilidade. Não diz nada sobre se a linguagem interpretada tem permissão para abrir arquivos, fazer solicitações HTTP etc. O único perigo inerente à integridade de Turing é a possibilidade de um loop infinito.
Dan04

@ dan04 Ou ele tenta emular um processador x86 executando o Windows executando um aplicativo da área de trabalho que é projetado na janela do navegador - tudo em Javascript. A conclusão de Turing é assustadora
sinni800 11/03/2013

@ dan04 e agora botnets de mineração de cryptocoin (que exigem apenas recursos de computação e a capacidade de enviar resultados de volta).
user253751

16

Não sou desenvolvedor web e tenho apenas um entendimento moderado da maneira como a internet funciona. Portanto, esta é uma resposta de um usuário .

Minha experiência me leva a acreditar que muitos sites são simplesmente mal codificados, seja por preguiça ou por ignorância: quando eu visualizava uma página da Web basicamente estática , como uma página do Facebook, o uso da minha CPU aumentava em algo como 15% e drasticamente mais com várias guias. Eventualmente, chegou ao ponto em que eu teria que esperar por uma resposta depois de clicar em um botão ou link e minha CPU iria superaquecer e travar.

Em muitos desses piores criminosos (sites), nada visível está mudando e nada interativo está acontecendo. Eu só podia supor que o código do site estivesse constantemente fazendo atualizações excessivas, pesquisas e loops infinitos.

Isso me levou a instalar o NoScript para liberar o uso da CPU e impedir que a navegação se tornasse uma tarefa frustrante.

O outro maravilhoso complemento que eu uso é o FlashBlock .


O Facebook não fornece páginas estáticas: está usando uma técnica chamada sondagem longa para verificar novas notificações, mensagens instantâneas e itens de feed de notícias. Todas essas coisas requerem JavaScript e uma certa quantidade de energia da CPU.

2
@ MarkTrapp Sim, foi por isso que eu disse "basicamente estática", embora não seja estritamente falando uma página estática. HyperPhysics seria um exemplo de site com páginas estáticas. Sei que provavelmente há uma necessidade de fazer esse tipo de coisa, caso contrário as caixas nunca desapareceriam e você não receberia notificações até atualizar a página, mas : Parece que cada site ajuda a obter mais recursos do que deveria, semelhante a a situação em que um professor ou professor espera que você coloque seu trabalho em primeiro lugar.
Mark C

se você acha que o facebook é uma página estática, não deve comentar sobre essa questão.
Dainius 15/07

@ Dainius Você parece confundir o jargão com o inglês e não segue a lógica aqui. O que está fazendo com todos esses ciclos de CPU aqui? Esse é o problema. Talvez seja melhor agora, mas muitos desses sites se ajudam a obscurecer quantias de seu tempo de CPU.
Mark C

Mark, você se chama webdev e pergunta: o que a página estática versus a dinâmica tem a ver com os ciclos da CPU? ou você realmente acha que "visualizar uma página da Web basicamente estática, como uma página do Facebook" é verdadeira?
Dainius

10

Desativei o JS por motivos de velocidade. O TechCrunch sem JavaScript leva alguns segundos para carregar com um cache preparado. Com o JavaScript, leva quase 20 segundos, mais se o cache não estiver preparado.

Muitos sites ficaram inchados com JavaScript, especialmente galerias de imagens e sites de comércio. A remoção disso proporciona uma melhor experiência de navegação na maioria dos casos.


8

Para mim, tudo sobre segurança. Eu uso o noscript para permitir que determinados sites executem javascript, embora não seja a maioria.

No final, você nunca sabe onde está o perigo ( site da nobel infectado em techspot.com ). Muitas explorações de dia zero (e outras) usam javascipt; fechar esta avenida de ataque parece um passo na direção certa.


1
Você precisa de colchetes em torno de algo para o link entrar. Isso me lembra que eu aprendi apenas no inverno passado que o Yahoo! Os anúncios esportivos foram infectados com algum tipo de malware (ou infectariam você). O jovem que administrava a rede doméstica onde estávamos hospedados na lista negra de vários sites com anúncios infecciosos.
Mark C

7

Meu principal motivo é que suprime os anúncios mais irritantes. Prefiro não usar o AdBlock Plus, pois isso pode afetar a receita dos sites que visito (e usei um ou dois sites nos quais os termos de serviço informavam que eu não deveria desativar os anúncios). O NoScript limita o potencial desagradável dos anúncios, e estou disposto a conviver com o restante deles.

Há também a consideração de segurança, e isso também está amplamente relacionado aos anúncios, já que qualquer site que vende anúncios deve ser considerado potencialmente hostil.

Além disso, eu não necessariamente sei que um site é desonesto antes de visitá-lo. Algumas pessoas gostam de enviar links para sites e não são necessariamente honestos.


Sites confiáveis ​​também podem incluir Javascripts prejudiciais - através do XSS ou porque foram invadidos. O exemplo do site do prêmio Nobel vem à mente.
Mnementh

4

Como os navegadores costumavam ter implementações lentas do JavaScript e muitos web designers do n00b apenas o usavam para coisas irrelevantes, como a substituição de botões.

Em uma máquina rápida, com um navegador moderno, ninguém em sã consciência desativa isso o tempo todo. O que não quer dizer que não haja muitas pessoas "conscientes da segurança" e outras pessoas sem os fundos, o desejo ou o know-how para executar um navegador moderno em um computador veloz ... Só recentemente o IE6 deixou de ser o navegador mais popular da internet!


"e outros sem os fundos, desejo ou know-how para executar um navegador moderno em um computador rápido". Eu posso entender e concordar com a parte "fundos". Eu posso entender com a parte "desejo", embora eu ache que normalmente seria mais uma questão de "necessidade" como uma restrição imposta à recusa em ter um computador decente. Mas eu realmente não entendo a parte do "know-how". Como você pode não ser qualificado a ponto de não comprar um computador recente? Ou, se o fizer, de usá-lo mal a ponto de não instalar o navegador incluído e usar um navegador mais antigo? :)
haylem

2

Com o Javascript ativado, qualquer site pode executar código no meu computador. Eu nem sei se o site em particular executa o código e o que ele faz. Pior ainda, outra pessoa pode inserir código sem meu conhecimento em um site normalmente inofensivo (XSS). Recentemente, uma conhecida revista alemã de computadores não fez um artigo, e um garoto de 16 anos experimentou os sites de bancos on-line dos bancos mais comuns da Alemanha. Muitos deles - incluindo os maiores - eram vulneráveis ​​ao XSS. E você nem percebe que seu site de banco on-line executa algum Javascript que altera, por exemplo, o destino e o valor de uma transação. Com o Javascript desativado, o ataque XSS no contexto de um site confiável é inútil, não executo o código malicioso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.