Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wellington09

[Resolvido] javascript obstrutivo e javascript não-obstrutivo

Recommended Posts

Pessoal o que seria realmente isto ?

 

Li em um blog, que o javascript não-obstrutivo ele era executado na pagina da pessoa, mesmo se o navegador não tivesse suporte ao javascript ou se o javascript estivesse desabilitado, porem em uma pagina de deste que o blog mostra , diz que mesmo o javascript desabilitado ele funcionaria , mas quando desabilitei o javascript ai parou de executar o javascript .

 

então o que realmente é javascript obstrutivo e javascript não-obstrutivo , pois todos os blogs que eu entro fala sobre o mesmo exemplo que disse acima.

 

a pagina de deste era esta http://unobtrusify.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é bem assim cara..

se o suporte à Javascript estiver desabilitado, nenhum script JS será executado mesmo.

 

Oque temos aqui é uma 'metodologia' de desenvolver javascript, que se diz: não obstrutiva, ou seja: não fazer o teu site totalmente dependende de javascript, tanto que se desabilitar o suporte à Javascript, o usuário ainda tenha acesso ao conteudo do mesmo.

E não que 'o script continuará funcionando', isso é impossível!

 

Por exemplo, se você tá fazendo um menu accordion/dropdown..:

<ul>
  <li>Item
    <ul>
       <li>Subitem</li>
       <li>Subitem</li>
    </ul>
   <li>Segundo item</li>..
é normal darmos um:

ul li ul { display: none; }
com CSS para esconder o submenu, já que esse vai ser aberto com o nosso efeito escrito em Javascript.

Mas ai acontece, que só usamos JS para abrir o menu, e CSS para esconder.

 

Ou seja, se o cara não tiver JS, não vai conseguir ver o menu NUNCA.

Pois o nosso site depende de JS para funcionar. A idéia, seria fazer o display: none; com JS também!

Ai que está 'a mágica', pois se ele tiver com JS desabilitado, o menu não vai abrir.. (lógico, pois como disse, navegadores com suporte desabilitado, não executam scripts), mas também não estará fechado!

 

Pois o nosso display: none; agora foi feito com JS também, e não com CSS como da primeira vez. Assim o menu fica sempre aberto, e o usuario consegue acessar, diferente do primeiro caso.

 

Essa foi uma ilustração simples. Mas a metodologia é essa: Fazer funcionar sem JS, e depois aplicar JS para as firulas.. e depois voltar, desabilitar o suporte à JS, e verificar se o usuário, ainda tem acesso à informação, mesmo que sem os efeitos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm legal mas e no caso do button de um formulario oque eu deve fazer já que meu button tem o type="button" e eu uso o onclick para entrar na funçào de validar o form e redirecionar para a pagina de cadastro.

 

a pessoa não iria cadastrar-se nunca a não ser que ela saiba a url para onde estou enviando

Compartilhar este post


Link para o post
Compartilhar em outros sites

é como eu disse: primeiro faça funcionar sem nenhum javascript, e depois adicione..

no caso do formulário, use um type="submit", pois assim o form funciona.. ai você adiciona o JS que quer.. pode até desativar o submit, e fazê-lo..

 

O importante é que o usuário tenha acesso ao sistema, e ele funcione com ou sem JS.

No caso, você vai perder a validação client-side, se ele não tiver com JS habilitado, mas segundo as boas práticas de desenvolvimento, não é por isso que você deve inibir o acesso ao sistema do user.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.