+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.