|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Bonjour,
Cela fait maintenant un bon moment que je farfouille, que je test, que je me creuse la tête, pour trouver un moyen simple de gérer un évènement load sur le contenu d'une réponse ajax. Pour l'instant sans résultat probant. Alors je me tourne vers vous. Je vous détail ma réflexion : - J'ai besoin de faire des traitements sur des images présentes dans ma page - Sur une requête synchrone pas de souci, je le fait sur le $(window).load() et tout va bien. - Sur une requête asynchrone ça se corse, je peux éventuellement le faire dans le success de la requête mais rien ne me permet de savoir si les images qui ont été ajoutées au DOM sont déjà chargées - J'ai essayé avec $('img').load() mais ce n'est pas supporté par tous les navigateurs, des problèmes peuvent survenir si l'image était en cache, IE ne les envoie jamais, bref c'est pas bon - $('img').load() fonctionne un peu mieux je crois quand il est ajouté sur une balise image sans src et que la source est renseignée après, mais je voudrais pouvoir ajouter ma réponse ajax au DOM sans m'em***der à remplir chaque balise img après coup - J'ai essayé avec un plugin qui ajoute un évènement spécial load pour les images, mais je me choppe un "stack overflow" sur IE J'enrage, je me dit que je ne dois pas être le seul à vouloir faire un traitement onload sur une réponse ajax, le success étant incomplet pour tout ce qui est image par exemple, mais impossible de trouver une solution concrète, simple et cross-browser. Si vous avez ce même souci, et que vous avez une solution ou une piste, ça m’intéresse ^^ |
|
|
00
|
|
|
#2 | |||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Euh... tu sembles mélanger plusieurs choses...
Citation:
![]() Quel rapport entre une requête AJAX synchrone et l'événement load de window ? Citation:
![]() Citation:
Citation:
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|||||
|
00
|
|
|
#3 | ||||
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Navré j'ai pris quelque raccourci dans mes explications
Quand je parle de requête synchrone je parle simplement d'une page standard chargée complètement et normalement après une requête http (et non une requête ajax en mode synchrone) et qui contient des images sur lesquels je veut effectuer des traitements, notamment par rapport à leur largeur/hauteur, ce qui nécessite qu'elles soient chargées, dans ce cas là je fais mon traitement ainsi : Code :
Je veux que le même traitement soit effectué sur des images qui arriveraient dans le DOM lors d'une requête ajax : dans mon success je met à jour la partie de ma page qui contient ces images avec le contenu html de la réponse, j'ai donc bien de nouvelles images dans mon DOM mais je n'ai aucun moyen de savoir quand elles seront chargées, donc aucun moyen de savoir si mon traitement va correctement s'effectuer ou pas. Pour ce qui est de mettre l'écouteur avant l'insertion dans le DOM, faire un Code :
Bref, je cherche un moyen simplissime et cross-browser d'être informé que les images (ou tout autre contenu qui dans le cas d'une requête http classique provoque cette latence entre l'évènement DOMready et l'évènement load) contenues dans une mise à jour du DOM sont bel et bien chargées. |
||||
|
|
00
|
|
|
#4 | |
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Citation:
Merci d'avance |
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Bon, visiblement cela ne peut pas être simple, donc je me tourne vers un plugin (https://github.com/desandro/imagesloaded), cela a au moins le mérite d'être simple d'utilisation.
Sinon pour ce qui est de la délégation je crois avoir compris que la méthode live() en est une implémentation, son application à l'évènement load est des plus hasardeux, je ne sais pas ce qu'il en est pour la méthode delegate(), je me pencherai sur la question une autre fois |
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 057 ![]() |
cf aussi on()
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com