Devo me preocupar em desenvolver para JavaScript desativado? [duplicado]

97

Devo me preocupar em desenvolver para o JavaScript desativado?

Eu sinto que meu tempo é mais bem gasto desenvolvendo para a maioria.

    
por Jiew Meng 28.05.2013 / 12:38
fonte

20 respostas

66

Existe uma filosofia de web design conhecida como Progressive Enhancement que você deve considerar. A ideia é que você construa um site básico que seja utilizável e trabalhável, e então você se sobrepõe a esses aprimoramentos como o jQuery e o material específico do navegador para "melhorar". Dessa forma, você obtém um site que funciona para todos e parece bom para a maioria.

Se isso não convencer você, considere outras razões para ter um site funcionando sem o javascript:

  • É mais amigável para SEO. Se o seu site depende de JS para conteúdo e links, as chances são de que os mecanismos de pesquisa ignorem grandes partes dele.

  • Imagine que você é um site de comércio eletrônico que vende widgets. Agora, mesmo que apenas 5% dos seus clientes desativem o javascript, essa é uma perda potencial de vendas de 5%. Vale a pena perder clientes?

  • Não discrimine os deficientes. Confiar em javascript significa que seu site não é acessível e, em alguns casos (como sites governamentais / do setor público), você pode ser quebrando a lei discriminando as pessoas.

por 30.09.2011 / 16:00
fonte
43

Por um lado, eu não concordo com as pessoas por aí que insistem que tudo deveria funcionar sem o Javascript. É bom codificar para o menor denominador comum em muitos casos (por exemplo, eu ficaria muito chateado se o site do meu banco exigisse Flash ou algo parecido). Mas, realisticamente, quase todo mundo tem o Javascript habilitado nos dias de hoje e se usado adequadamente, sites resultantes podem ser bastante espetaculares e úteis! (Quero dizer, vamos ver como o Google Maps é legal quando o Javascript está desativado ...)

No entanto, isso não deve isentá-lo de, pelo menos, garantir que sua página falhe normalmente se o Javascript não estiver presente. Nunca deixe seus usuários olhando para uma página quebrada pela metade, sem indicação do que deu errado. Basta perguntar a si mesmo: Eu gostaria de passar 2 minutos codificando uma mensagem "Esta página requer Javascript" ou receber 10 e-mails diariamente dos usuários dizendo que minha página está quebrada porque eles têm noscript ativado?

    
por 13.12.2010 / 15:38
fonte
39

Sim, você deveria.

Se você perceber isso como algo que requer esforço extra, você pode estar fazendo o contrário.

Desenvolva suas páginas para trabalhar sem JavaScript primeiro e depois adicione melhorias baseadas em JavaScript, efeitos Ajax e assim por diante. Eles funcionarão se o JS for suportado / ativado, caso contrário, suas páginas serão degradadas normalmente .

E, por favor, não desenvolva as páginas em que:

  1. Todo o conteúdo é extraído do banco de dados por JavaScript

  2. A marcação desmorona completamente porque os elementos colados juntos e colocados nos lugares certos pelo JavaScript não pelo CSS

  3. Os links na navegação e no corpo não estão funcionando sem o JavaScript (a menos que haja algum framework como o ASP.NET que dependa do JavaScript por um motivo)

É apenas contra o espírito da web e contra o senso comum.

P.S. Falado por um usuário do NoScript.

    
por 13.12.2010 / 15:04
fonte
31

Como desenvolvedor, não me preocupo mais com 1% dos usuários que desativam o Javascript. É muito demorado e o tempo de desenvolvimento é muito caro para ser desperdiçado com esse absurdo. O AJAX economiza uma incrível quantidade de largura de banda, que se transforma diretamente em economia, o que aumenta os lucros. Se eu perder um ou dois usuários em potencial do site para cada 100 usuários, esses um ou dois usuários perdidos custarão muito mais em desenvolvimento do que a renda potencial que poderiam gerar.

Tente desativar o Javascript e fazer login no Facebook. Depois disso, ele se tornará um site muito corrompido. Se é bom o suficiente para o Facebook, é bom o suficiente para mim.

    
por 26.05.2011 / 16:08
fonte
11

Pessoalmente eu uso o NoScripts plugin do Firefox ao navegar, e eu encorajo outras pessoas a usá-lo. Em todos os PCs da família, eu mantenho o NoScripts como uma das partes obrigatórias do software que eu instalo. Configurei-a com uma lista de permissões dos sites básicos de e-mail e serviços bancários, juntamente com a popular ferramenta social & sites de vídeo e explicar a eles como a permissão temporária funciona. A julgar pela popularidade deste plugin, acho que há uma boa parte das pessoas que o usam.

No mínimo, espero que a funcionalidade de navegação funcione sem scripts. Se você tem algo específico como o vídeo que requer scripts, então tudo bem, mas exiba um bom espaço reservado que diz "os scripts são necessários para visualizar este vídeo".

Fazer sua navegação depender de scripts é um grande erro. Em muitos casos, isso me fará saltar do site com repugnância. Um erro ainda maior é fazer com que parte do seu site ou navegação desapareça completamente quando os scripts são desativados. A menos que você destaque o fato de que algo está faltando, há uma boa chance que eu nem notarei, portanto, basta deixar o site pensando que ele não estava lá. Além disso, uma mensagem em tela cheia que apenas diz "este site requer scripts" não vai te levar muito longe, eu preciso ver algum nível de conteúdo antes de confiar em você o suficiente para permitir scripts.

Por fim, não se esqueça de que não são apenas os PCs desktop que navegam no site, mas os navegadores de dispositivos móveis estão cada vez mais populares. Embora o suporte ao JavaScript para dispositivos móveis esteja cada vez melhor, não é um local quase perfeito. Assim, a menos que você teste intensamente todos os navegadores para dispositivos móveis diferentes, sugiro que pesquise na versão para dispositivos móveis da sua página praticamente sem roteiro.

    
por 13.12.2010 / 15:01
fonte
9

Depende do site e de quem o utilizará.

O site é público ou é uma intranet ou um site que só estará disponível para determinados clientes? Você provavelmente encontrará usuários sem JavaScript no público. Se for usado apenas por clientes, você pode dizer que só apóia o JavaScript?

SEO é uma consideração ou é todo o site por trás de uma tela de login ou SEO é de outra forma não é um fator? É muito mais fácil otimizar para mecanismos de pesquisa se não houver JavaScript.

O site será usado em navegadores móveis? Os navegadores de dispositivos móveis geralmente não oferecem suporte a JavaScript nem a eles.

Você também deve perceber que o JavaScript pode dificultar que os leitores de tela processem seu site e tenha outras considerações potencialmente negativas sobre acessibilidade.

Os usuários de navegadores com base em texto (por exemplo, lynx) também têm pouco ou nenhum suporte a JavaScript.

Você precisa analisar seu site e seu público-alvo e decidir se precisa dar suporte a usuários com JavaScript desativado. Você também precisa ver se é possível não usar JavaScript. Se você está fazendo um aplicativo da Web avançado e precisa de coisas como suporte para webcam e microfone, pode ser impossível não usar o JavaScript.

Se você decidir que precisa dar suporte a usuários sem JavaScript, ainda poderá usar o JavaScript. Você deve apenas tornar o site ainda funcional sem ele. Isso é chamado de aprimoramento progressivo e deve ser degradado se não houver suporte a JavaScript.

Se você decidir exigir JavaScript, deverá notificar seus usuários (usando a tag <noscript> ) que você está fazendo.

    
por 13.12.2010 / 23:49
fonte
8

Absolutamente

Um site que não funciona corretamente sem JavaScript deve notificar claramente o usuário. Tanto quanto possível, deve ser feito para funcionar corretamente sem JavaScript. Há certos casos em que isso não será possível, sites altamente dinâmicos construídos em camadas de AJAX e buscas remotas são um deles. Isso não significa que não há problema em mostrar uma página em branco se eu tiver o JavaScript desabilitado.

degradação graciosa é extremamente importante, e não se aplica apenas ao JavaScript, aplica-se a tudo o que você codifica. Marcação HTML válida, CSS válido, validação do lado do servidor de tudo .

    
por 13.12.2010 / 14:55
fonte
8

Posso recomendar um artigo de "A List Apart"?:

Aprimoramento progressivo com 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 você combina a abordagem geral com esse artigo com ferramentas úteis como JQuery (ou Prototype, ou qualquer que seja sua estrutura JavaScript de escolha), é realmente trivial aplicar o comportamento do JavaScript após o fato.

Existem vários tipos de navegadores por aí que ainda não têm JavaScript ou, pelo menos, suporte JavaScript muito limitado. Sem mencionar que a regra # 1 para WCAG e a conformidade com a seção 508 (acessibilidade para pessoas que não são dos EUA) é que a visão não depende de uma linguagem de script para função . Se a página recarrega toda vez que faço uma alteração, mas ainda me permite fazer alterações está funcionando. A camada AJAX na parte superior do site base possibilita que eu faça o mesmo sem as recargas de página.

As principais razões pelas quais posso ver por apoiar nenhum usuário de JavaScript são:

  • Suporte a pessoas com deficiências (leitores de tela, dispositivos de entrada alternativos, etc.)
  • Oferecendo suporte a pessoas conscientes da segurança: vamos encarar as pessoas ruins fazendo coisas hediondas com JavaScript, então a solução mais fácil é se livrar do JavaScript
  • É a maneira mais fácil de desativar anúncios sem um plug-in
  • Dispositivos móveis e incorporados
  • Navegadores de linha de comando usados para baixar ferramentas em servidores sem cabeçalho
  • Os spiders dos mecanismos de pesquisa só seguem links reais - o JavaScript os confunde

Por favor, se você vai exigir cookies e JavaScript em seu site para que ele funcione , então faça sua devida diligência para evitar os seguintes problemas com o seguinte:

  • ataques de script entre sites
  • acompanhamento de usuário de terceiros
  • Hacking / Defacement por meio da manipulação de DOM
  • Phishing (se um script puder acessar seu DOM, ele poderá enviar qualquer informação na página para o servidor do qual foi carregado)

(E essa é apenas a lista curta)

Quando a solução não é tão difícil, por que não?

Além disso, enquanto estiver na sua festa JavaScript, não se esqueça de oferecer suporte à navegação sã no teclado.

    
por 28.05.2013 / 12:38
fonte
3

Em um site como este, você encontrará muitos desenvolvedores informando como eles têm o JavaScript desativado, portanto, você deve oferecer suporte ao aprimoramento progressivo. Na realidade, dos 5% das pessoas que têm o Javascript desativado, 90% deles são desenvolvedores e outros geeks técnicos, eles não são o público em geral. A maioria dos principais sites não suporta aprimoramento progressivo. Você já tentou usar o Facebook sem Javascript? Eles basicamente dizem ir embora.

    
por 14.12.2010 / 02:01
fonte
2

< 5% dos usuários desativam o javascript

De acordo com BrowserStatistics , em 2008, apenas 5% dos usuários tinham o JavaScript desativado. A tendência tem vindo a diminuir constantemente, por isso é muito seguro assumir que agora, perto de 2011, esse número é muito menor.

Rebaixar com classificação

Seu site deve nunca ser quebrado - não importando se os usuários têm JS ativado ou desativado. Mesmo que seja tão simples quanto exibir uma mensagem informando que seu site precisa do javascript ativado, certifique-se de que seu website seja processado e se comporte de maneira aceitável e sem interrupções para os poucos selecionados.

Retrabalho para usuários não-JS? Normalmente: Não.

O desenvolvedor comum não precisa criar uma versão não-javascript em outro idioma. No entanto, se é sabido que seus clientes têm necessidades anti-javascript, então obviamente você é forçado a atendê-lo. (Até mesmo o Gmail tem uma versão não-JS)

    
por 27.08.2011 / 01:55
fonte
1

Apenas na funcionalidade de missão crítica

Geralmente é uma boa ideia "degradar de forma elegante". No entanto, gostaria apenas de me concentrar em partes essenciais do seu aplicativo da Web, para atender a situações em que o JavaScript pode não estar disponível.

Se o efeito for "sinos e assobios", não se preocupe. As pessoas que deliberadamente surfam com JavaScript terão que fazer uma experiência simples (ei, essa é a escolha deles para não usar Js)

    
por 13.12.2010 / 15:16
fonte
1

Meus pensamentos:

Usar o javascript sempre aumentará a área de superfície para o ataque, não apenas para você, mas também para seus clientes - quase todos que eu conheço navegam com o NoScript, e isso inclui pessoas não técnicas.

Se eu vir um site de compras on-line que usa o javascript mal, não comprarei deles. Eu sempre primeiro navego com o javascript desabilitado, e se um site degrada graciosamente eu posso estar interessado. Se estiver apenas quebrado, normalmente presumo que os programadores também não têm a capacidade de fornecer uma plataforma de loja segura.

Ele tende a desacelerar tudo - apesar de estar perto de uma grande cidade, minha banda larga é lenta o suficiente sem ter que esperar por alguma ideia de marketing para carregar. Se um site leva mais de 5 segundos para carregar o conteúdo básico, não me incomodo a menos que tenha uma necessidade real.

    
por 17.12.2010 / 17:01
fonte
1

A maioria das respostas aqui parece destacar críticas de sites padrão usando JavaScript de maneira não essencial ou hacky. Mas e os aplicativos da web? Há uma tonelada de funções críticas que não podem ser alcançadas nem remotamente de forma tão eficaz sem o JavaScript. Mesmo algo tão simples como um contador de palavras básicas em uma área de texto, ou habilitar / desabilitar uma pergunta de formulário adicional com base na resposta para outro. Neste caso, não é razoável construir para a maioria e degradar graciosamente para a minoria? Especialmente se você sabe que sua base de usuários é não-técnica e é improvável que o JS seja desativado?

    
por 16.01.2013 / 01:06
fonte
0

Coisas a considerar:

AFAIK, os spiders dos mecanismos de busca não gostam de Javascript. Você deve ter conteúdo básico e navegação sem Javascript apenas para SEO.

Alguns sites podem ter regras para acesso de pessoas com deficiência, seja por motivos legais ou por política da empresa. Isso geralmente é melhor realizado com HTML simples em vez de Javascript.

Enquanto a maioria das pessoas navega com Javascript hoje em dia, isso não é uma garantia para o futuro. A web está se tornando cada vez mais hostil e ferramentas como o NoScript podem se tornar mais populares. Como alternativa, é possível que mais pessoas usem dispositivos com navegadores menos capazes, embora com alguns telefones Android sendo relativamente baratos, isso parece menos provável. A degradação graciosa pode ser uma forma de tornar o site à prova do futuro.

    
por 13.12.2010 / 23:18
fonte
0

Sim.

Não vou falar sobre pessoas com NoScript, dispositivos incorporados, etc. A sua quota pode ser medida e, em seguida, pode decidir se a redução de receita causada por irritantes, e. 0,5% dos usuários valem a implementação de uma solução para eles.

Mas há outras razões para seguir o princípio do Aprimoramento Progressivo, e elas geralmente são mais importantes.

  1. 100% dos usuários não podem executar o javascript antes que os scripts sejam carregados. Se o site puder funcionar sem js, ele poderá ser carregado mais rapidamente para os visitantes de primeira viagem, visitantes com cache vazio e para todos os visitantes após as atualizações de código js.

  2. Sites que podem funcionar sem js são mais confiáveis. Erro de Javascript ao invadir um site é um pesadelo arquitetônico. Mais informações sobre isso e problemas relacionados: link

  3. É mais fácil manter o aprimoramento progressivo do que implementar um site somente para javascript adequado para SEO.

  4. É mais fácil escrever testes automatizados para sites que não exijam que o javascript funcione.

Na verdade, é muito fácil seguir o princípio do Aprimoramento Progressivo, então por que não segui-lo?

    
por 28.03.2011 / 08:04
fonte
0

Depende da resposta a uma única pergunta:

"O custo de suporte a usuários com JavaScript desativado é maior ou menor que o dinheiro perdido por não oferecer suporte a esses usuários?"

Digamos que seu site tenha uma duração de 3 anos antes de precisar ser reconstruído, ele custa £ 30.000 para ser criado para 'rich clients' e você adiciona outros £ 10.000 para suportar usuários não-javascript (dos quais são 5% de)

Se os 5% de usuários ausentes tivessem gasto mais de £ 10.000, faça isso. Se não, não faça isso a menos que seja legalmente exigido.

Esta é mais uma decisão comercial / econômica do que técnica.

    
por 28.05.2013 / 13:49
fonte
-1

Não, você não deveria

Com duas exceções:

  1. Conteúdo que você quer que seja indexável no mecanismo de pesquisa. (Isso não significa que ele tenha uma boa aparência - contanto que os links funcionem e o conteúdo seja detectável.)
  2. Sites para celular simples que precisam funcionar em todos os dispositivos. (Alguns BlackBerries têm o JS desativado por padrão, e muitos não-inteligentes geralmente não o têm.)

Para sites de área de trabalho e de telefone de toque, o Javascript oferece uma experiência de usuário incrivelmente rica. Existe uma razão para que todos os principais sites façam uso extensivo de AJAX e Javascript. Todos os navegadores atuais suportam isso. Abrace isso!

Como alguém que suou no passado para fazer um site inteiro funcionar com o JavaScript desativado, posso garantir a qualquer um que eles acabarão degradando a experiência pelos 99% para agradar o 1%.

Em vez disso, basta inserir uma tag NOSCRIPT que informe a esses usuários para ativar o Javascript. Eles estarão acostumados com isso.

    
por 14.12.2010 / 01:13
fonte
-1

Depende muito do seu mercado alvo. Se o seu mercado-alvo é não-técnico, você é bastante seguro ignorando o javascript desativado. No entanto, se você está atrás de técnicos, bem, a maioria dos que eu conheço tem o javascript desabilitado ... Você precisará apoiá-los, a menos que queira a pequena porção de técnicos que permite o javascript (eu sou um dos a minoria, deixei javascript executar em minhas máquinas). : -)

    
por 28.05.2013 / 14:18
fonte
-2

O JavaScript desativado é extremamente importante e você deve apoiá-lo. A indústria pornô é notória por enviar spam a usuários com pop-ups desonestos. A desativação do JavaScript é bastante necessária se você navegar para esse território.

Você realmente quer forçar os usuários a ativar ou desativar constantemente o JavaScript, à medida que vão saindo de sites de reputação questionável para seu aplicativo?

    
por 27.08.2011 / 04:12
fonte
-4

Por que você usaria JavaScript? Não é necessário para qualquer coisa útil de qualquer maneira. Adicioná-lo para efeitos bobos, se você quiser, mas fazê-lo funcionar para nós sentados em um novo, mas lento netbook / iPod / o que quer que ele trabalhe um pouco mais rápido (e mais seguro), transformando o JavaScript!

    
por 28.03.2011 / 05:33
fonte