cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 29 juil. 2007 à 16:55
Bon après des tests poussés, cela ne fonctionne pas puisque même l'exemple fourni avec le script (exemple.html) ne bloque pas la fenêtre. Bon c'est dommage, cela a fonctionné un temps qui est révolu.
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 29 juil. 2007 à 16:45
"Bonjour,
J'ai l'impression que depuis l'installation de la version 2.0.0.4 de firefox, ce script ne bloque plus les fenêtres."
Non, c'est une erreur de ma part, l'id sur le bouton ou le lien est indispensable.
Par exemple sur un lien.
Faire : <a id="t_tiers" onClick="...." fonctionne bien pour le blocage et l'enchainement des fenêtres
Faire : <a onClick="...." ne donne plus de blocage sur la fenêtre ouverte et plante aussi l'enchainement des fenêtres.
Donc attention de ne pas oublier l'id sur l'appel du script.
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 8 juil. 2007 à 08:31
Bonjour,
J'ai l'impression que depuis l'installation de la version 2.0.0.4 de firefox, ce script ne bloque plus les fenêtres.
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 14 mars 2007 à 15:33
Je garde temporairement la modif que j'ai fait et prévient moi lorsque tu auras eu le temps, je testerai volontier la modif à ce moment là.
Merci encore.
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 14 mars 2007 à 15:06
Ha... oui...
Oui je nomme toute mes fenetres modal_x.
Faudrait quelle se nomme en réalité quelque chose comme:
modal_0
modal_0_0
modal_0_2
modal_0_2_0
modal_1
Je n'ai malheureusement pas beaucoup de temps à consacrer à cela les jours-ci.
Mais au moins il y a une trace ici de cette limitation à une seul niveau de modale.
Merci d'avoir mis le doigt dessus ;)
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 14 mars 2007 à 14:59
J'ai intégré la fonction dans un intranet et je n'ai pas d'url publique
J'avais placé un alert dans mon code comme ceci :
var id=MODAL_DIALOG_LIST.length;
alert(id);
var newWin=window.open(url,'modal_'+id,windowParam);
Ce qui a donné les valeurs de mon post précédent
Dans mon cas A est parente de B et B est parente de C
Lors de l'ouverture de C la 1ère fois au départ de A, B et C sont à 0.
Et c'est là qu'est le problème.
C ne sait pas que B est déjà là ?
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 14 mars 2007 à 10:00
Ca marche à priori dans ton cas de figure.
Mais si maintenant tu ouvres deux fenetres devant modifiéer une meme reférence (exemple couleur et couleur de fond via css)... je pense qu'il y aura un petit conflit (genre: feneter deja ouverete... car son l'id demandé sera déjà utilisé).
aurais-tu une url publique pour tester ton problème. A mon avis c'est pas grand chose...
Normalement l'ID est donné selon la taille d'un tableau qui enregister dans la fenetre parente toutes les modales à leur ouverture.
cf MODAL_DIALOG_LIST.length dans la fonction.
Dans ta popup B as-tu bien un tel tableau... regarde voir quel est sa taille à l'ouverture de C... Est-ce que ce tableau existe, etc...
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 14 mars 2007 à 09:33
J'ai placé un alert('modal_'+id);
Lors du 1er appel:
la valeur sur B de alert('modal_'+id); est modal_0
la valeur sur C de alert('modal_'+id); est modal_0
ensuite
la valeur sur B de alert('modal_'+id); est modal_1
la valeur sur C de alert('modal_'+id); est modal_0
puis
la valeur sur B de alert('modal_'+id); est modal_2
la valeur sur C de alert('modal_'+id); est modal_0
sur C la valeur ne change jamais
Dois-je la forcer ?
Ce que j'ai fait, c'est changer 'modal_'+id par 'modal_'+reference
Reference étant l'id du bouton d'appel, cet id changeant entre B et C, je n'ai plus de problème.
Je teste à fond.
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 13 mars 2007 à 17:43
Bonjour
Merci pour ce code qui me permet de bloquer mes fenêtres sous FF.
Un petit soucis autour duquel je tourne depuis un bon moment
J'ai un script A qui ouvre une fenêtre B avec "newShowModalDialog"
La fenêtre B ouvre la fenêtre C avec "newShowModalDialog" aussi
On défini que "A" est un fomulaire dans un onglet de FF et "B" et "C" des fenêtres de style popup ouvertes avec "newShowModalDialog"
J'affiche "A" pour la 1ère fois, je fais un "newShowModalDialog" de "B", puis un "newShowModalDialog" de "C". "B" et "C" se confondent c'est la cata car en fait "B" n'existe plus et lors du retour de la fille vers la parent....perdu.
Je reviens sur "A" sans la raffraîchir, je me promène de "B" à "C" sans problème.
Je raffaîchi "A", et à nouveau "B" et "C" se confondent.
C'est donc lors de la 1ère utilisation des fenêtres à partir du formulaire de départ que la supperposition se produit.
Quel élément est inconnu la 1ère fois ?
Est-ce normal ? Non
Une idée ?
Merci d'avance
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 9 mars 2007 à 11:06
Bonjour Musul,
Je viens de retester sous Firefox 2.0.0.2 et j'ai également cette exeption qui est déclenché.. toutefois, le script fonctionne.
En regardant de plus prêt il s'avère que c'est la déclaration du "handler" blur sur l'input text de saisie qui provoque cela.
Pour éviter cela, il suffit de virer les 3 lignes :
//mise en place d'un handler traitant la perte du focus
if (document.addEventListener) { document.addEventListener("blur", window.focus, true); }
else if (document.attachEvent) { document.attachEvent("onblur", window.focus); }
(bien sur, le blur n'est par conséquent plus géré, mais il reste directement le onKeyUp dans l'input).
Bonne programmation, et merci pour cette remonté de bug.
cs_MUSUL
Messages postés7Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention 9 mars 2007 9 mars 2007 à 10:55
Testé sous firefox 2.0.0.1 et ne marche pas du tout :
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 23 févr. 2006 à 16:12
Hum,
Donc IE ne connais pas window.open(url,target,"modal=yes,....)
Faudrait que je me repenche sur le sujet dans ce cas... quitte a utiliser la fonction d'IE lorsqu'elle existe... ca ne devrait pas changer grand chose au script.
Je posterai une remarque lorsque j'aurai corrigé ce léger bug d'ici quelque jour.
Merci pour les tests.
cs_iubito
Messages postés629Date d'inscriptionmercredi 3 juillet 2002StatutMembreDernière intervention 9 octobre 2006 23 févr. 2006 à 15:43
Je viens de tester sur IE, le onblur ne doit pas fonctionner, car la fenêtre ne reste pas modale, je peux sans aucun pb cliquer en dehors et mettre le focus sur la grande fenêtre appelante !
Sur Opera la fenêtre est bien modale
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 23 févr. 2006 à 15:35
Là ca passe sans problème sous Firefox.
J'ai mis à jour l'exemple en ligne (juste remplacer le champ input par un select de même id).
Si ca passe pas il y aura une autre solution un peut plus bourrin a tester a savoir
Virer l'événement onBlur de la fenetre lorsque l'on a un unFocus sur le select.
Puis au onblur du select remettre le gestionnaire d'evenement de la fenetre.
cs_iubito
Messages postés629Date d'inscriptionmercredi 3 juillet 2002StatutMembreDernière intervention 9 octobre 2006 23 févr. 2006 à 15:20
Je n'ai pas essayé avec IE, mais j'avais eu le pb y'a longtemps : as-tu essayé de mettre une liste déroulante SELECT dans une de tes popup ? As-tu observé quelque chose d'anormal ?
Dans mon cas, la liste SELECT ne pouvait pas s'ouvrir, car dérouler le SELECT provoquait un onblur.
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 17 févr. 2006 à 10:02
En fait dans le zip il y a qu'un seul exemple... les deux autres fichiers HTML étant les popups ouvertes par exemple.html
Merci pour les encouragements, j'devrais encore avoir quelque trucs sympa à venir partager :)
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 17 févr. 2006 à 09:58
Chapeau Max, je pense que ton travail en stisfera plus d'un!!!
Bonne continuation!
(Ah oui, juste les 2 derniers exemples ne s'ouvrent pas...pour info!)
cs_MaX3315
Messages postés170Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention11 mai 2009 17 févr. 2006 à 08:31
Heu... juste pour etre certain d'avoir compris?
Tu me demande des script qui t'arreterais les emails? Dans ce cas je pense qu'il faudrai mieux allez dans le forum pour en discuté car cette source n'a rien a voir avec les emails.
@+
najnoujj
Messages postés8Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention 5 novembre 2011 16 févr. 2006 à 20:55
merci pour ces codes
mais j'aimerai bien avour des script qui taraitent les émails
merci
29 juil. 2007 à 16:55
29 juil. 2007 à 16:45
J'ai l'impression que depuis l'installation de la version 2.0.0.4 de firefox, ce script ne bloque plus les fenêtres."
Non, c'est une erreur de ma part, l'id sur le bouton ou le lien est indispensable.
Par exemple sur un lien.
Faire : <a id="t_tiers" onClick="...." fonctionne bien pour le blocage et l'enchainement des fenêtres
Faire : <a onClick="...." ne donne plus de blocage sur la fenêtre ouverte et plante aussi l'enchainement des fenêtres.
Donc attention de ne pas oublier l'id sur l'appel du script.
8 juil. 2007 à 08:31
J'ai l'impression que depuis l'installation de la version 2.0.0.4 de firefox, ce script ne bloque plus les fenêtres.
14 mars 2007 à 15:33
Merci encore.
14 mars 2007 à 15:06
Oui je nomme toute mes fenetres modal_x.
Faudrait quelle se nomme en réalité quelque chose comme:
modal_0
modal_0_0
modal_0_2
modal_0_2_0
modal_1
Je n'ai malheureusement pas beaucoup de temps à consacrer à cela les jours-ci.
Mais au moins il y a une trace ici de cette limitation à une seul niveau de modale.
Merci d'avoir mis le doigt dessus ;)
14 mars 2007 à 14:59
J'avais placé un alert dans mon code comme ceci :
var id=MODAL_DIALOG_LIST.length;
alert(id);
var newWin=window.open(url,'modal_'+id,windowParam);
Ce qui a donné les valeurs de mon post précédent
Dans mon cas A est parente de B et B est parente de C
Lors de l'ouverture de C la 1ère fois au départ de A, B et C sont à 0.
Et c'est là qu'est le problème.
C ne sait pas que B est déjà là ?
14 mars 2007 à 10:00
Mais si maintenant tu ouvres deux fenetres devant modifiéer une meme reférence (exemple couleur et couleur de fond via css)... je pense qu'il y aura un petit conflit (genre: feneter deja ouverete... car son l'id demandé sera déjà utilisé).
aurais-tu une url publique pour tester ton problème. A mon avis c'est pas grand chose...
Normalement l'ID est donné selon la taille d'un tableau qui enregister dans la fenetre parente toutes les modales à leur ouverture.
cf MODAL_DIALOG_LIST.length dans la fonction.
Dans ta popup B as-tu bien un tel tableau... regarde voir quel est sa taille à l'ouverture de C... Est-ce que ce tableau existe, etc...
14 mars 2007 à 09:33
Lors du 1er appel:
la valeur sur B de alert('modal_'+id); est modal_0
la valeur sur C de alert('modal_'+id); est modal_0
ensuite
la valeur sur B de alert('modal_'+id); est modal_1
la valeur sur C de alert('modal_'+id); est modal_0
puis
la valeur sur B de alert('modal_'+id); est modal_2
la valeur sur C de alert('modal_'+id); est modal_0
sur C la valeur ne change jamais
Dois-je la forcer ?
Ce que j'ai fait, c'est changer 'modal_'+id par 'modal_'+reference
Reference étant l'id du bouton d'appel, cet id changeant entre B et C, je n'ai plus de problème.
Je teste à fond.
13 mars 2007 à 17:43
Merci pour ce code qui me permet de bloquer mes fenêtres sous FF.
Un petit soucis autour duquel je tourne depuis un bon moment
J'ai un script A qui ouvre une fenêtre B avec "newShowModalDialog"
La fenêtre B ouvre la fenêtre C avec "newShowModalDialog" aussi
On défini que "A" est un fomulaire dans un onglet de FF et "B" et "C" des fenêtres de style popup ouvertes avec "newShowModalDialog"
J'affiche "A" pour la 1ère fois, je fais un "newShowModalDialog" de "B", puis un "newShowModalDialog" de "C". "B" et "C" se confondent c'est la cata car en fait "B" n'existe plus et lors du retour de la fille vers la parent....perdu.
Je reviens sur "A" sans la raffraîchir, je me promène de "B" à "C" sans problème.
Je raffaîchi "A", et à nouveau "B" et "C" se confondent.
C'est donc lors de la 1ère utilisation des fenêtres à partir du formulaire de départ que la supperposition se produit.
Quel élément est inconnu la 1ère fois ?
Est-ce normal ? Non
Une idée ?
Merci d'avance
9 mars 2007 à 11:06
Je viens de retester sous Firefox 2.0.0.2 et j'ai également cette exeption qui est déclenché.. toutefois, le script fonctionne.
En regardant de plus prêt il s'avère que c'est la déclaration du "handler" blur sur l'input text de saisie qui provoque cela.
Pour éviter cela, il suffit de virer les 3 lignes :
//mise en place d'un handler traitant la perte du focus
if (document.addEventListener) { document.addEventListener("blur", window.focus, true); }
else if (document.attachEvent) { document.attachEvent("onblur", window.focus); }
(bien sur, le blur n'est par conséquent plus géré, mais il reste directement le onKeyUp dans l'input).
Bonne programmation, et merci pour cette remonté de bug.
9 mars 2007 à 10:55
Erreur : [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "native frame :: :: <TOP_LEVEL> :: line 0" data: no]
23 févr. 2006 à 16:12
Donc IE ne connais pas window.open(url,target,"modal=yes,....)
Faudrait que je me repenche sur le sujet dans ce cas... quitte a utiliser la fonction d'IE lorsqu'elle existe... ca ne devrait pas changer grand chose au script.
Je posterai une remarque lorsque j'aurai corrigé ce léger bug d'ici quelque jour.
Merci pour les tests.
23 févr. 2006 à 15:43
Sur Opera la fenêtre est bien modale
23 févr. 2006 à 15:35
J'ai mis à jour l'exemple en ligne (juste remplacer le champ input par un select de même id).
Pour les autres naviagteurs faudrait testé la nouvelel démo (cf le champ 'border')
http://codessources.votre-web.com/js/modalDialogue/exemple.html
Si ca passe pas il y aura une autre solution un peut plus bourrin a tester a savoir
Virer l'événement onBlur de la fenetre lorsque l'on a un unFocus sur le select.
Puis au onblur du select remettre le gestionnaire d'evenement de la fenetre.
23 févr. 2006 à 15:20
Dans mon cas, la liste SELECT ne pouvait pas s'ouvrir, car dérouler le SELECT provoquait un onblur.
17 févr. 2006 à 10:02
Merci pour les encouragements, j'devrais encore avoir quelque trucs sympa à venir partager :)
17 févr. 2006 à 09:58
Bonne continuation!
(Ah oui, juste les 2 derniers exemples ne s'ouvrent pas...pour info!)
17 févr. 2006 à 08:31
Tu me demande des script qui t'arreterais les emails? Dans ce cas je pense qu'il faudrai mieux allez dans le forum pour en discuté car cette source n'a rien a voir avec les emails.
@+
16 févr. 2006 à 20:55
mais j'aimerai bien avour des script qui taraitent les émails
merci