Pergunta

Estou começando a dar um pouco mais atenção para fazer o meu JavaScript e Ajax degradar graciosamente. Que é mais recomendado:

  • trabalhando na incorporação da degradação suave em seu código existente (pode ser complicado) ou
  • desenvolver um conjuntos diferentes de páginas para os usuários não-js.

Estou inclinado para os diferentes conjuntos de páginas, porque eu sinto que é mais fácil e eu começar a entregar os melhores resultados possíveis para cada tipo de usuário (js habilitado ou js-deficientes). Você concorda comigo, e se não, por que você discorda?

Eu também estou preocupado com ataques de hackers. Por exemplo hackers chega à versão js habilitado, em seguida, desativa seus js. Quaisquer pensamentos sobre este ponto? Eu não sei muito sobre hacking, mas isso pode ser uma preocupação de segurança se eu ir com as versões separadas?

Agradecemos antecipadamente

Foi útil?

Solução

O desenvolvimento de dois conjuntos separados de páginas, uma para JS habilitado e um para não-JS, é, obviamente, um monte de trabalho, não só inicialmente, mas também como a sua aplicação continua a evoluir. Se isso não incomodá-lo muito, eu acho que é o caminho a percorrer. Eu acho que você está certo sobre mesma página degradação graciosa sendo por vezes muito complicadas. Às vezes, isso é apenas por causa do layout: Com JS habilitado, você pode simplesmente ocultar e mostrar elementos, onde, como, sem JS: onde colocar tudo? conjuntos separados de páginas pode ajudar a manter a estrutura da página mais limpa.

Sobre tentativas cortadas: Você nunca, nunca, nunca pode confiar na validação de JavaScript do lado do cliente. Tudo tem que ser verificado (ou re-marcada) do lado do servidor, e seu código do lado do servidor pode fazer nenhuma suposição de qualquer natureza sobre a entrada do usuário. Portanto, eu acho que o cenário de alguém de-ativando JS ao usar o aplicativo é irrelevante. Tente manter o uniforme entrada do usuário esperado para o versões JS não-JS e, validá-lo corretamente, e você está pronto.

Outras dicas

Embora ele não funciona bem para sites existentes, muitas vezes é mais útil usar a Progressive Enhancement paradigma: construir o site para que ele funciona sem especial add-ons, em seguida, iniciar camadas seu awesomeness em cima disso.

Desta forma, você pode ter certeza que funciona a partir do zero e todos (incluindo aqueles que utilizam leitores de tela, aqueles que desligar imagens ou folhas de estilo, e aqueles que não usam javascript) podem acessar seu site.

Para um site existente, no entanto, vai depender do que a funcionalidade Ajax está entregando. Em geral, você deve se esforçar para espelhar toda a funcionalidade de ajax com js desactivados. Se você tem falhas de segurança em sua versão js, ??do que você provavelmente vai na sua versão não-js também. AJAX não pode chegar a qualquer coisa que não pode ser acessado via URL comum.

Você provavelmente vai querer verificar para fora jQuery AJAXy . Ele permite que você graciosamente atualizar o seu site em um ajax cheio de recursos sem qualquer modificação do lado do servidor, então tudo ainda funciona para usuários com deficiência javascript e motores de busca. Ele também suporta hashes assim suas costas e botões de avançar ainda trabalho.

Tem sido implementadas nesses dois sites (que eu saiba) http://wbhomes.com.au http://www.balupton.com

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top