PRELOAD IMAGES AVEC IMAGE LOADER ET MISE EN CACHE JAVASCRIPT

mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009 - 27 juil. 2009 à 08:51
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009 - 4 août 2009 à 10:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50366-preload-images-avec-image-loader-et-mise-en-cache-javascript

LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
4 août 2009 à 10:12
> Placé dans le cas de figure comme il est proposé dans le script, il libère bien la mémoire
> (test sous Windows7 et LINUX), en revanche placé après une conditionnel, je précise:

PHP libere la memoire et les ressources a la sortie du script, mais ton mysql_free_result() n'est toujours pas appele...

Tu peux l'executer en pas a pas avec un debugger si tu veux vraiment en etre sur.
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 15:01
je tiens à informer d'un commentaire qui à été fait plus haut au sujet du MYSQL_FREE_RESULT(); placé après un RETURN :
C'est une constatation...
Placé dans le cas de figure comme il est proposé dans le script, il libère bien la mémoire(test sous Windows7 et LINUX), en revanche placé après une conditionnel, je précise:
/********************************/
if(condition){
//instrunction
return ......
}else{
//instruction
return....
}
mysql_free_result($query);
/********************************/
Là j'ai put constater qu'il ne servait à rien .... Je suis loin d'avoir la réponse pour l'instant, mais vous, vous l'avez ? :-)
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 14:22
Pardon pour le lien je le remet ici -> http://nyuclick.com/s2/
philou04 Messages postés 6 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 28 septembre 2007
3 août 2009 à 14:06
Mitch,
J'aurais bien voulu aller voir ce que ça donne avant tout mais ton lien www/nyuclick.com/s2/ ne fonctionne pas, même en remplaçant / par un point ... :S
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
3 août 2009 à 11:36
>Vous me parlez bien du PHP ou j'ai un "switch tout moche ?" En fait mon problème et donc
>pourquoi j'en suis arrivé là, c'est la virgule(,) qui se place à chaque fois après qu'on
>rajoute l'image pour le JavaScript. Si je fait une boucle, comment je fais dans la boucle
>quand j'arrive à la dernière image pour ne pas placé la virgule(,) si nom une fois fois
>le script sur la page, le javascript sort inévitablement une erreur.

Ton switch est caduque car tu as un seul cas particulier, si $qts 1, et dans ce cas, tu ne rentres jamais dans ton while (1<1 false).

Sinon tu peux t'en sortir avec la fonction php implode pour mettre des virgules entre les elements de ton tableau...

De plus j'ai l'impression que tu ajoutes plusieurs fois chaque image... (le while est inutile puisque tu as un foreach (inutile lui aussi si tu utilises implode))
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 10:49
Bon, il ne me reste plus qu'à revoir tout sa de plus près, effectivement j'avais fais ce bout de code pour dépanné un ami, mais d'après les commentaires sa ressemble plutôt à un cadeau empoisonné :-(
Pour l'adaptation JS et la compatibilité je vais encoder JQuery.
Pour le CSS je vais y cogitez calmement.
Merci pour ses remarques constructives.
Je vais donc tentez de vous surprendre...@++
cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011
3 août 2009 à 10:23
Salut,

Effectivement l'orthographe n'est pas ton fort, mais ça, c'est de la forme, donc pardonnable en regard de l'intention louable, et du partage de ton travail. Donc merci pour ça.

Pour le fond, au delà des remarques précédentes que je partage, penses peux-être à :

- taille des images: pas très flexible tt ça entre la dB, le css et le js.
Que se passe-t-il si ça ne matche pas entre tes images 150x150 de la dB et celles que tu affiches..? En définitive, tel que c'est codé, il n'y a pas d'autre choix que la taille 150x150 (Query dans la dB: )

- rendre le code js exécutable au moins pour les 2 navigateurs qui représentent à eux seuls 85% du marché, à savoir FF et IE. (Je ne suis pas certain, mais il me semble me rappeler qu'il faut adapter le "document.getElementById" selon le type de browser)

- Sécurité des forms: je n'ai rien vu sur le sujet, mais bon , j'ai lu en diagonal,

- Structure: pas très modulaire tout ça, ça ressemble plus à un code propriétaire, donc difficilement intégrable ne l'état sur un site existant. Une fois les fonctions fonctionnelles et testées , ça vaudrait pê le coup de recoder plus proprement.

Bref, ça montre juste qu'il y a du boulot avant de pouvoir vraiment partager un code utilisable.

Bon courage
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 09:24
Vous me parlez bien du PHP ou j'ai un "switch tout moche ?" En fait mon problème et donc pourquoi j'en suis arrivé là, c'est la virgule(,) qui se place à chaque fois après qu'on rajoute l'image pour le JavaScript. Si je fait une boucle, comment je fais dans la boucle quand j'arrive à la dernière image pour ne pas placé la virgule(,) si nom une fois fois le script sur la page, le javascript sort inévitablement une erreur.
/*******/
Dans PHP :
preload ("images/monImage.gif" -->,<-- ++Images.... et pour la dernière images pas de virgule.
/******/
Je pense bien que ma boucle JS est bonne non ?
Une astuce ? mise à par un " switch tout moche :-)"
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
3 août 2009 à 08:51
Cela ne change pas grand chose il me semble, non?

Il calcule tout de même chaque fois length, et cela sera toujours plus propre de sortir le length de la boucle... Si je me trompe dis moi où :)
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
2 août 2009 à 15:47
"for (var i = 0; i<preload.arguments.length; i++){
On sort le length de la boucle..."

C'est valable en php mais là c'est du Js... .. .

@ tchaOo°
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
31 juil. 2009 à 20:55
Bien bien, c'est ce que je voulait des critiques !! Je suis loin d'être parfait, mes script aussi.. Je touche que depuis quelque moi à php et pour dire vrais vous m'aidai à progresser. J'ai rectifier le "mysql_free_result()", pour la boucle, j'y avais déjà pensé ! Mais si procède comme sa et que la DB est vide? et oui faut y pensé !!.... Aidé moi à amélioré merci d'avance...
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
30 juil. 2009 à 15:10
En regardant en diagonal...

$Margeur_img ='150';
$Largeur_img plutôt nan?

for (var i = 0; i une fois arrivé a ton retourne la fonction fera pas ce qu'il y a en dessous...

Et en cherchant il reste encore énormément de choses a améliorer...

A mon avis c'est pas une source de niveau initié...
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
28 juil. 2009 à 10:39
Oui c'est une tare pour moi, je pensé les enlevés mais j'ai pris le risque de quelques réflexions...Cela dit, j'espère ce pendant pourvoir rendre service. Toute fois si c'est le script qui vous intéresses, il est plus soigneux que corriger les erreur de syntaxe...
Amicalement M.
PS: Votre avis sur ce script m'intéresse aussi :-)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
28 juil. 2009 à 10:17
Salut

Je pense que la première opération serait de corriger toutes les fautes d'orthographes, explicatif et contenu , car il y en a beaucoup trop et cela ne fait pas sérieux ;)
mitchlmx Messages postés 8 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 3 août 2009
27 juil. 2009 à 08:51
SI vous voulez améliorez le script !
Rejoignez-nous