2010-02-03 3 views
2

J'ai un type de page de tableau de bord qui contient un tas de sections, chacune fournissant des données différentes. Obtenir toutes les données et ensuite envoyer la page est lente. Du point de vue de la performance perçue, je pense que la meilleure façon de le faire est de charger la page avec chacune de ces sections ne contenant rien, puis utiliser jquery ajax pour obtenir de manière asynchrone les différentes données. Cependant, il a été foré dans ma tête que je ne devrais pas compter sur javascript pour être activé. Est-il possible de détecter si javascript est activé dans le navigateur demandeur avant de renvoyer la page? Ou, peut-être une meilleure question est quelle est la meilleure façon de faire à ce sujet?Bonne pratique: Jquery Ajax ou pas de dépendance à javascript

+0

combien de vos utilisateurs ont réellement désactivé javascript? Et quelle est l'importance de satisfaire cette minuscule minorité d'utilisateurs? – Geoff

Répondre

0

Ce que je pense que vous voulez faire est de construire votre page en utilisant unobtrusive javascript. Ce qui vous permettra de créer une page parfaitement fonctionnelle pour les navigateurs non compatibles avec javascript, qui peut être améliorée pour la grande majorité des utilisateurs de javascript.

Pour empêcher qu'une seule demande ne soit lourde pour les navigateurs non javascript, vous devez cliquer sur un lien pour obtenir chaque élément de données.

+0

Avoir l'utilisateur cliquer sur un lien pour obtenir les données est une bonne idée. Je vais juste remplacer le lien avec les données en javascript. Merci! – Grant

0

Si votre tableau de bord fait partie d'un système dorsal, alors je ferais en sorte que JavaScript soit requis et utiliser AJAX pour mettre à jour la page. La réactivité visuelle sera grandement améliorée, et en tant que backend d'un site (ou d'une application), elle a un public plus limité et contrôlable.

Assurez-vous d'avoir une sorte d'avertissement qui apparaît si JS est désactivé.

Même sur les sites frontaux, c'est discutable, mais de nombreux programmeurs choisissent toujours de ne pas prendre en charge JS ce qui serait un peu difficile à mettre en œuvre dans ce scénario.

0

Vous devriez probablement faire en deux étapes:

  1. code votre page comme si javascript n'a jamais existé. Utilisez un balisage sémantique et une bonne structure css (qui sera plus facile à altérer une fois que vous commencez à jouer), mais n'utilisez pas de javascript whatsovever.

  2. Lorsque tout fonctionne, commencez à ajouter des javascript. Des animations, des appels asynchrones (qui pourraient nécessiter une implémentation supplémentaire côté serveur) et d'autres choses, mais rien de ce dont vous avez besoin pour changer le html de l'étape 1 pour. Si vous avez besoin que le code html soit différent, changez-le avec javascript - de cette façon, vous n'aurez rien détruit dans votre application de secours.

+0

Je sais que vous dites ceci parce que c'est la "bonne" réponse, mais suivriez-vous réellement ce conseil s'il s'agissait d'un système de backend (CMS, etc)? Pour le minuscule% de personnes handicapées JS, cela en vaut-il la peine? –

+0

@Doug, j'essaie de suivre ceci chaque fois que j'écris une application web, quelle que soit sa nature, à moins que je ne sois d'accord avec l'utilisateur/qui l'a commandé (ce qui est peut-être moi) que le client accepte le javascript. Mais généralement, j'essaie de suivre cela, même lors du codage des systèmes dorsaux qui ne seront pas utilisés par une grande base d'utilisateurs. –

3

Probablement 99% des utilisateurs ont maintenant activer Javascript. À moins que vous ne vous souciez beaucoup des gens qui exécutent des navigateurs qui ont 10 ans, ou des utilisateurs absurdement paranoïaques, je voudrais simplement utiliser JavaScript. Votre cas est ce pour quoi AJAX a été conçu.

Questions connexes