11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
Je cherche à résoudre un problème de javascript sur Safari,
pour le moment le site marche bien sur la plupart des plateformes
et des explorateurs...

http://img33.imageshack.us/img33/4442/image1vir.jpg

mais par moment sur safari, une fenêtre indiquant qu'un script ralenti
le site apparait... je ne comprends pas d'où cela peu venir

aucune réponse clair n'est donné sur les forums anglais ou français,

la réponse la plus courante étant "désactives le blocage des scripts lents"
mais je ne m'imagine pas avoir à demander à tout les gens visitant le site
de faire cela...


si vous avez une idée, remarques, piste de réflexion ou recherche n'hésitez pas
à rentrer dans cette discution !
Modifié par jeanjeanjean (28 May 2009 - 11:19)
Salut,

a écrit :
mais par moment sur safari, une fenêtre indiquant qu'un script ralenti
le site apparait... je ne comprends pas d'où cela peu venir
J'ai été voir ton site, pas de problème chez moi (Safari 3.2.3). Il faudrait que tu puisses définir ce "par moments" pour pouvoir faciliter le diagnostic.

Je ne suis pas très au fait des outils de développement pour Safari, mais sous Firefox, le profiler de Firebug pourra probablement t'aider à identifier les éventuels goulots d'étranglement.
Avec Firebug et YSlow ont voit qu'il y a 3968 élément dans le DOM sur la page d'accueil (lien, paragraphe, images, titres...) et 67 images (.gif) sont chargées. Du coup il me faut 10+ secondes pour charger entièrement le site ce qui assez long à mon avis.

Voilà qui peut aider pour les images http://www.alsacreations.com/actu/lire/693-css-sprites-generator-creator.html

Enfin après je ne pense pas que le problème vienne des images mais du nombre d'éléments dans le DOM.

Sinon sous Shireteko (beta de Firefox 3.5) j'ai un joli message qui me dit que mon browser n'est pas "assez bon", ce qui est bien dommage.
merci pour vos réponses


Smiley lol

strpos($_SERVER['HTTP_USER_AGENT'] semble détecter que Shireteko est égale à MSIE


Smiley rolleyes
c'est étrangement drôle !


pour les 3968 éléments du DOM, il y aurait bien un moyen en ajax pour ne générer l'intérieur des projets qu'au moment de l'ouverture du projet...

mais je ne suis pas certain que le pb vient de là, sur d'autre site avec encore plus d'éléments dans le DOM, le pb ne se pose pas...
a écrit :
Sinon sous Shireteko (beta de Firefox 3.5) j'ai un joli message qui me dit que mon browser n'est pas "assez bon", ce qui est bien dommage.
Je suis sous 3.5b4 et n'ai aucun message de ce type, bizarre...

Pour le problème de jeanjeanjean, je ne pense que ce soit un problème de nombre de noeuds dans le DOM, mais plutôt d'un script qui doit boucler sur ces noeuds en faisant à chaque fois des opérations lourdes. Je recommande vivement un coup de profiler Firebug Smiley smile
marcv a écrit :
Sinon sous Shireteko (beta de Firefox 3.5) j'ai un joli message qui me dit que mon browser n'est pas "assez bon", ce qui est bien dommage.
Je suis sous 3.5b4 et n'ai aucun message de ce type, bizarre...
...

Pareil, sous Ubuntu...
edit : pour être précis la dernière nigthly.
Modifié par kurt11 (28 May 2009 - 22:33)
qu'est-ce que tu entends par profiler?
il se trouve où cet outil dans firebug?
merci


edit:pardon, j'ai trouver la ligne de commande
console.profile()
et
console.profileEnd()

Modifié par jeanjeanjean (29 May 2009 - 11:04)
a écrit :
j'ai trouver la ligne de commande
console.profile()
et
console.profileEnd()
Oui, ou sinon, dans la console, le menu "Profile" (ou nom équivalent en français, j'ai qu'une version anglaise sous la main, là) : premier clic = équivalent de console.profile(), second clic = équivalent de console.profileEnd()).

a écrit :
et après je fais quoi de ces infos?!
Ces infos te disent, en gros, le temps que met chaque fonction à s'exécuter. Tu peux donc savoir celles qui sont les plus lourdes et concentrer ton travail d'optimisation sur elles.
Modifié par marcv (29 May 2009 - 14:56)