11402 sujets

JavaScript, DOM et API Web HTML5

Pages :
(reprise du message précédent)

Seoplayer > Vu que tu as l'air de bien maîtriser les librairies d'effets JS, je suis confronté à une problématique depuis peu : j'ai ajouté quelques effets d'ouvertures JQuery sur un site pour tester, le problème c'est qu'au 1er chargement les effets rament, mais plus au n+1ème chargement, dois-je en conclure que c'est le chargement des bibliothèques qui produisent le ralentissement de mes effets ?

C'est d'autant plus embêtant qu'à terme, je compte garder cet effet pour le 1er chargement de la page uniquement... Aurais-tu un conseil à me donner pour résoudre ce problème) ?
C'est surement le chargement des JS, c'est pour çà que j'ai mis un loading entre autre. Mon conseil : faire un loading.
Je ne suis vraiment pas sûr de l'idée du loading, a mon avis c'est mieux de laisser le document html s'ouvrir naturellement et d'éviter les effets à l'ouverture. Il y a aussi quelque chose qui n'a pas était évoqué, qui permet d'accélérer considérablement le chargement des pages c'est de mettre les scripts a la fin du document, juste avant le body.
Les utilisateurs sont habitués à voir s'afficher progressivement le contenu, et je pense même qu'ils apprécient cette réactivité des document html par rapport aux documents flash, donc de reproduire le comportement de ceci je ne crois pas que se soit une bonne idée.
Je trouve que ton site est très sympa même sans javascript, du coup si celui ne viendrait qu'après se serait super, par exemple dans la galerie au changement de réalisation les cadres qui partent et qui reviennent en se chargeant via ajax ou bien la petite flèche qui bouge dans le menu.
Quand la page arrive pour la première fois je la laisserais venir normalement par contre avec les chargements ajax la oui les effets sont vraiment intéressants.
Ou bien trouver un compromis par exemple laisser une page html trés simple et élégante avec ton logo, et ensuite mettre un loading pour les élément lourd comme le background. Voilà c'est ça qui me gène! a la limite pour les images c'est pas gênant parce qu'elle apparaissent progressivement au fur a mesure qu'elles se chargent, par contre je trouve dommage le fait de devoir attendre le chargement du background pour voir le site. C'est en effet perde un des avantages des css, on peut y mettre de grosses images décorative sans ralentir la consultation.
Bref travailler l'idée du chargement pour que, même si celui ci est stylisé avoir des informations au fur a mesure, par exemple au début voir le logo sans attendre tout le site.
Modifié par matmat (11 Oct 2008 - 04:43)
matmat a écrit :
Je ne suis vraiment pas sûr de l'idée du loading, a mon avis c'est mieux de laisser le document html s'ouvrir naturellement et d'éviter les effets à l'ouverture. Il y a aussi quelque chose qui n'a pas était évoqué, qui permet d'accélérer considérablement le chargement des pages c'est de mettre les scripts a la fin du document, juste avant le body.
Les utilisateurs sont habitués à voir s'afficher progressivement le contenu, et je pense même qu'ils apprécient cette réactivité des document html par rapport aux documents flash, donc de reproduire le comportement de ceci je ne crois pas que se soit une bonne idée.
Je trouve que ton site est très sympa même sans javascript, du coup si celui ne viendrait qu'après se serait super, par exemple dans la galerie au changement de réalisation les cadres qui partent et qui reviennent en se chargeant via ajax ou bien la petite flèche qui bouge dans le menu.
Quand la page arrive pour la première fois je la laisserais venir normalement par contre avec les chargements ajax la oui les effets sont vraiment intéressants.
Ou bien trouver un compromis par exemple laisser une page html trés simple et élégante avec ton logo, et ensuite mettre un loading pour les élément lourd comme le background. Voilà c'est ça qui me gène! a la limite pour les images c'est pas gênant parce qu'elle apparaissent progressivement au fur a mesure qu'elles se chargent, par contre je trouve dommage le fait de devoir attendre le chargement du background pour voir le site. C'est en effet perde un des avantages des css, on peut y mettre de grosses images décorative sans ralentir la consultation.
Bref travailler l'idée du chargement pour que, même si celui ci est stylisé avoir des informations au fur a mesure, par exemple au début voir le logo sans attendre tout le site.


Je suis d'accord avec toi sur le loading. Par contre je ne suis pas pour la solution de mettre les scripts à la fin du body, tout simplement parce que la couche javascript ne fonctionnera pas tant que les scripts ne seront pas entièrement chargés.

Ex : j'ai un lien <a> qui est réécrit en js, si je clique dessus avant que les scripts ne soient chargés, j'aurai le fonctionnement normal (sans js).... C'est pas très propre comme soluce.
Modifié par SolMJ (11 Oct 2008 - 14:52)
SolMJ a écrit :
Ex : j'ai un lien <a> qui est réécrit en js, si je clique dessus avant que les scripts ne soient chargés, j'aurai le fonctionnement normal (sans js).... C'est pas très propre comme soluce.

C'est une des raisons pour laquelle il est préférable que la page fonctionne aussi sans js, ou bien si le contenu est génerer via ajax, a ce moment là les liens le sont aussi donc pas de problème.
Par exemple pour une galerie photo, il est tout a fait possible de faire en sorte que l'affichage soit quasi égal entre la page avec ou sans js, à la différence que sans celui ci tout ce recharge et avec seulement la photo. Donc imaginons que la liste des photos soit chargés via ajax et que l'utilisateur impatient clique sur la vignette avant que la liste arrive, il génère tout simplement la page correspondante, ce qui donne le même résultat qu'avec javascript.
matmat a écrit :

C'est une des raisons pour laquelle il est préférable que la page fonctionne aussi sans js, ou bien si le contenu est génerer via ajax, a ce moment là les liens le sont aussi donc pas de problème.
Par exemple pour une galerie photo, il est tout a fait possible de faire en sorte que l'affichage soit quasi égal entre la page avec ou sans js, à la différence que sans celui ci tout ce recharge et avec seulement la photo. Donc imaginons que la liste des photos soit chargés via ajax et que l'utilisateur impatient clique sur la vignette avant que la liste arrive, il génère tout simplement la page correspondante, ce qui donne le même résultat qu'avec javascript.


Toujours est-il qu'on perd une partie des fonctionnalités dans l'immédiat...

Autant pour les CSS ça ne me pose aucun problème car c'est de la décoration pure, autant pour le javascript qui peut avoir de réels apports (notamment au niveau ergonomique) ça me gêne de donner l'accès à une page fonctionnellement tronquée (même temporairement).

C'est bien de faire un site accessible sans javascript. Mais personnellement je préfère réserver ce côté de l'appli pour les personnes ne pouvant pas (ou ne voulant pas) utiliser Javascript, pas les autres.
Modifié par SolMJ (13 Oct 2008 - 12:07)
SolMJ a écrit :
Autant pour les CSS ça ne me pose aucun problème car c'est de la décoration pure, autant pour le javascript qui peut avoir de réels apports (notamment au niveau ergonomique) ça me gêne de donner l'accès à une page fonctionnellement tronquée (même temporairement).

Comme tu le dis, Javascript est un apport, et donc oui, on perds une partie des fonctionnalités si on commence à cliquer avant que js soit chargé.
Mais ces fonctionnalités doivent être là "en plus", pour améliorer l'utilisation et la prise en main du site, mais celui-ci doit rester fonctionnel dès le début.
Si ton utilisteur clique rapidement, c'est qu'il est pressé, il n'a alors peut-être pas besoin des fioritures (aucun dénigrement ici) que tu rajoutes.

Cela dit, je mets toujours mes scripts dans le head, avec un $(document).ready() jQuery.
Pages :