2010-08-19 19 views
4

Je développe des applications web depuis quelques années maintenant. L'un des problèmes auxquels je suis confronté est de devoir développer des applications web où javascript n'est pas activé ou pas disponible. Je sais que c'était un problème il ya quelques années, mais je suis curieux de savoir ce que les autres concepteurs de sites Web, les développeurs pensent de ce problème? Est-ce toujours un problème?Javascript n'a pas activé

La raison pour laquelle je pose cette question est parce qu'il me semble que nous sommes juste à la recherche de scénarios qui est très peu probable de se produire maintenant quelques jours. Cela concerne en particulier les sites Web et les applications Web accessibles au public? Ai-je raison dans mon évaluation? Je suis désireux de connaître les expériences et les apprentissages d'autres développeurs et designers web

Merci.

Répondre

2

Je vous recommande de vous assurer que la fonctionnalité de base de votre site est disponible sans javascript. Si vous travaillez de cette façon, vous obtiendrez un site qui fonctionne même si vous, ou un autre développeur, autorisiez un JS imparfait dans le site de production - une erreur JS sérieuse ne sera pas nécessairement un arrêt total .

En outre: AJAX, effets et autres fluff peuvent prendre un aaaaaaages pour déboguer. Les utilisateurs ne dérange pas simple. Vous devriez viser pour simple, et ajouter lentement des cloches et des sifflets, les tests utilisateur que vous ajoutez, pour éviter de créer un tas AJAXeffectsFluffy merde qui est confus et buggy ...

2

Même aujourd'hui, certaines personnes (dont moi-même) ont JS tourné désactivé par défaut. Les sites construits par des professionnels avertissent des fonctionnalités désactivées ou fonctionnent sans JS (via des rechargements complets).

1

Amélioration progressive! Je navigue presque toujours avec JS désactivé après avoir passé trop de temps à être ennuyé par les sites Web AJAXd, donc commencez toujours par de simples formulaires de chargement de page, etc. avant d'ajouter la fonctionnalité JS.

Les frameworks JS comme jQuery, mootools etc. deviennent de plus en plus populaires car presque tout le monde peut produire un site web "brillant" avec des animations. Mais je pense que plus les gens commencent à utiliser les outils, moins le navigateur habituel sera prêt à activer JS.

2

+1 pour l'amélioration progressive. C'est là que vous avez une fonctionnalité de base, non-flashy, avec HTML/CSS simple, puis obtenir du code JavaScript pour compléter ou remplacer cette fonctionnalité avec son propre. Par exemple, si vous avez une navigation de pagination sur la page qui se compose de simples liens hypertexte pour la page 1, la page 2, etc eg.

<div class="paging"> 
    <ul> 
     <li><a href="?page=1">1</a> 
     <li><a href="?page=2">2</a> 
     <li><a href="?page=3">3</a> 
    </ul> 
</div> 

Ensuite, vous auriez fonctionnalité JavaScript qui recherche votre élément div.paging et remplace complètement avec quelque chose de plus élégant, par exemple (dans le code pseudo)

$('div.paging').each(function() 
{ 
    $(this).find('ul').remove(); 
    $(this).append(renderAdvancedPaging()); 
}); 

Quant à ce qu'il pourrait être remplacé par , il pourrait être le défilement infini de style d'images de Google (oui je sais que Bing avait d'abord), ou l'approche de Twitter d'avoir un gros bouton de la page suivante en bas qui ajoute dynamiquement le prochain ensemble de résultats (regardez http://twitter.com/codinghorror - faites défiler vers le bas et cliquez 'Plus').

Les avantages de cette approche progressive de mise en valeur »sont:

  • Works pour les personnes qui ont désactivé JavaScript, cela inclut les utilisateurs avertis et les utilisateurs travaillant lourdement verrouillés intranets.
  • Accessibilité: les utilisateurs aveugles disposant de lecteurs d'écran peuvent toujours utiliser votre site.
  • Les moteurs de recherche, qui n'exécuteront pas de code JavaScript sur votre page, peuvent toujours suivre vos liens de recherche et indexer le contenu supplémentaire de ces pages.

Le dernier point devrait être le plus important si vous vous souciez de SEO.


Il y a des moments, cependant, quand on peut raisonnablement ignorer amélioration progressive et de construire un site qui repose sur JavaScript et ne fonctionnera pas sans elle. Vous le feriez généralement pour des applications Web avancées ou optimisées pour les mobiles, par exemple, Google Maps, une application de calendrier, une application de dessin HTML5 utilisant l'élément <canvas>, un jeu alimenté par HTML5, etc. Ma règle, n'importe quoi. Content Based '(site de blogs, site de nouvelles, boutique de commerce électronique, etc.) devrait appliquer Progressive Enhancement, alors que tout' Application-y 'pourrait tout simplement se passer de JavaScript. En fin de compte, cela revient à ce que vous construisez et si la route Progressive Enhancement est faite pour vous.


Statistiques pour le nombre de personnes avec JavaScript désactivé est difficile à trouver (some here mais il est à partir de 2008, également this StackOverflow post à partir de 2008), mais je pense qu'il est de plus en plus moins susceptibles d'avoir le script désactivé en raison du nombre croissant des applications RIA et des applications HTML5 basées sur JavaScript (Google Docs, Maps, etc.). Tenez également compte du nombre croissant d'appareils Internet mobiles (iPhones, iPads, etc.) qui ne vous permettent pas de désactiver JavaScript.

0

Il y en a qui pensent que vous devez également prendre soin des personnes qui ont désactivé le CSS. Tout cela peut vous rendre fou, en tenant compte de tous les "what ifs" du monde Web. Ceux qui désactivent javascript savent ce qu'ils sont et ne sont jamais surpris de trouver un site qui ne fonctionne pas à cause de cela. S'ils en savent assez pour l'éteindre, ils en savent assez pour le rallumer quand ils en ont besoin. Je pense que c'est Tim Berners-Lee qui a dit que le Web était toujours conçu pour être scriptable. Les hooks de script sont construits en HTML et tous les navigateurs fonctionnent avec. Presque tout le monde l'a allumé et ils devraient. Utilisez-le à votre avantage.