Accueil > Forum > > > > Perte de fenêtre parent lors de superposition
Perte de fenêtre parent lors de superposition
lundi 12 mars 2007 à 18:46:43 |
Perte de fenêtre parent lors de superposition

cousinlol
|
Bonsoir, J'ai un script A qui ouvre une fenêtre B avec "window.open"
La fenêtre B ouvre la fenêtre C
De façon aléatoire C faisait disparaître B. C'est à dire que lorsque je
cliquais sur mon bouton retour de C, je revenais directement à A sans
passer par B et cela de temps en temps.
Je n'ai pas réussi à savoir pourquoi.
J'ai fini par décaler "top=50, left=50" l'ouverture de C et de temps en temps elle se calque qu'en même sur la position de B. Si C est sur B, j'ai perdu B. Et comme je dois revenir à fenêtre parent, il ne sait pas où aller.
Est-ce normal ? Non
Quelle information pert-il de façon aléatoire ? Je suis sous FF et que sous FF
Merci d'avance
|
|
lundi 12 mars 2007 à 19:16:32 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
A mon avis, comme tu fait window.close() et que c'est une fenêtre ouverte dynamiquement, alors l'opener reste le même : A>>B (opener=a)>>C (opener=b=a); Mais je sais pas trop... Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 19:30:27 |
Re : Perte de fenêtre parent lors de superposition

cousinlol
|
Pourquoi de façon aléatoire.
Lorsque j'ouvre B à partir de A puis C à partir B et que je vois que C c'est calé sur B, je clique sur retour et je me retrouve sur A. Je clique pour ouvrir B puis C et là C est bien décalé par rapport à B.
|
|
lundi 12 mars 2007 à 19:51:20 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
alors dans ce cas, je ne comprends pas le problème, mais je vais essayer de le résoudre... :) tu as essayé d'ouvrir les deux fenêtres a partir de A ? (je sens que g rien compris) Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 20:00:57 |
Re : Perte de fenêtre parent lors de superposition

cousinlol
|
Non, je n'ai pas essayé parce que les fenêtres doivent s'ouvrir dans cette ordre A puis B puis C, les ouvertures se faisant à la demande par un onclick.
|
|
lundi 12 mars 2007 à 20:27:01 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
Oui, mais je parle par exemple : fenetre A : function ouvrirb() { window.open("bidule",'truc'); } function ouvrirc() { window.open("chose",'machin'); } fenetre b: window.opener.ouvrirc(); voilà (pas testé) Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 20:43:13 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
Ou sinon, fourni ton code pour que je vois... Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 20:43:14 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
Ou sinon, fourni ton code pour que je vois... Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 20:43:48 |
Re : Perte de fenêtre parent lors de superposition

stfou
|
Oups... dsl pour les deux messages... Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
lundi 12 mars 2007 à 21:07:02 |
Re : Perte de fenêtre parent lors de superposition

cousinlol
|
Voici le javascript d'appel des fenêtres :
///function: myShowModalDialog(url,mode,reference) // arguments: // -url : url to open in the popup // -mode : innerHTML | value | function | functionRef | style.<JS_style_property> // -reference : // avec le mode 'innerHTML' ou 'value' il s'agit de l'id de l'element dans // le DOM qu'il faudra mettre à jour // en mode 'function' il s'agit du nom de la fonction sous forme de chaine // alors qu'avec 'functionRef' il s'agit de la function elle même (pointeur) // -windowParam: troisiement argument de window.open function newShowModalDialog(url,mode,reference,windowParam) { var winOpenned=MODAL_alreadyOpen(mode,reference); if(winOpenned!=null) { winOpenned.focus(); return; } var id=MODAL_DIALOG_LIST.length; var newWin=window.open(url,'modal_'+id,windowParam); MODAL_DIALOG_LIST.push(Array(newWin,mode,reference,true)); //format win, mode, referecene , isOpen }
//Fonction que doit appeler la fenetre modale pour transmettre la nouvelle valeur // Exemple de code a placer dans votre fenetre modale : // window.opener.modalCallBackFunction(window.self,'MA VALEUR'); function modalCallBackFunction(winRef,newValue) { if(newValue==null) { return; } //pas de valeur renvoyé var modalObj=MODAL_findModalByWinRef(winRef); if(MODAL_findModalByWinRef==null) //impossible de trouver la modal correspondante { alert('Error : unable to found window reference for callBack procedure.'); } else { var modeList=Array(); modeList=modalObj[1].split('|'); for(var i=0 ; i<modeList.length ; i++) { switch(modeList[i]) { case 'innerHTML' : var tmp=document.getElementById(modalObj[2]); tmp.innerHTML=newValue; break; case 'value' : var tmp=document.getElementById(modalObj[2]); tmp.value=newValue; break; case 'function' : eval(modalObj[2]+'(\''+newValue+'\')'); break; case 'functionRef' : modalObj[2](newValue); break; default : if(modeList[i].indexOf('style.')==0) //exemple style.backgroundColor { //ATTENTION newValue doit être correctement formatte, //a vous de faire en sorte que votre fenetre modale renvoie la bonne valeur avec le bon formatage // exemeple qu'une couleur soit au format '#ff0033' ou rgb(255,0,85) etc... try { eval('document.getElementById(\''+modalObj[2]+'\').'+modeList[i]+'=\''+newValue+'\';'); } catch(e) { ; } } break; } } } }
//---- Inutile de regarder plus bas, seul la fonction newShowModalDialog est a appeler pour construire une fenetre modal --//
// Variables globales du script var MODAL_DIALOG_LIST=Array();
//méthode globales du script function MODAL_alreadyOpen(mode,reference) { for(var i=0 ; i<MODAL_DIALOG_LIST.length ; i++) { if(MODAL_DIALOG_LIST[i][1]==mode && MODAL_DIALOG_LIST[i][2]==reference && MODAL_DIALOG_LIST[i][3]) { //on test si elle est encore ouverte if(MODAL_DIALOG_LIST[i][0].document) { return MODAL_DIALOG_LIST[i][0]; } else //la fenetre a été fermée sans qu'elle est pu prevenir la fenetre mere, on corrige donc le flag isOpen { MODAL_DIALOG_LIST[i][3]=false; } } } return null; }
function MODAL_findModalByWinRef(winRef) { for(var i=0 ; i<MODAL_DIALOG_LIST.length ; i++) { if(MODAL_DIALOG_LIST[i][0]==winRef && MODAL_DIALOG_LIST[i][3]) { //on test si elle est encore ouverte if(MODAL_DIALOG_LIST[i][0].document) { return MODAL_DIALOG_LIST[i]; } else //la fenetre a été fermée sans qu'elle est pu prevenir la fenetre mere, on corrige donc le flag isOpen { MODAL_DIALOG_LIST[i][3]=false; } } } return null; }
//force le focus sur les modal encore ouverte (en thoerie il ne peut y en avoir qu'une seule encore d'ouverte) function MODAL_forceFocusOnModal() { for(var i=0 ; i<MODAL_DIALOG_LIST.length ; i++) { if(MODAL_DIALOG_LIST[i][3] && MODAL_DIALOG_LIST[i][0].document) { MODAL_DIALOG_LIST[i][0].focus(); } } return; }
//ajout d'un handler sur la reprise du focus, permettant d'imediatement redonner le focus a une eventuelle modal encore ouverte if (document.addEventListener) { document.addEventListener("focus", MODAL_forceFocusOnModal, true); } else if (document.attachEvent) { document.attachEvent("onfocus", MODAL_forceFocusOnModal); }
Et voici comment je les appels
<input type="button" title="Cliquez pour modifier le Tiers ou ses Contacts" onClick=" newShowModalDialog('maj_win_tiers_majeur.php?send_id_maj_tiers='+document.getElementById('mesure_ancien_tuteur_id').value+'&send_trt=Modifier', 'innerHTML|style.backgroundColor|function',this.id,'modal=yes,directories=0,menubar=0,titlebar=0,toolbar=0,width=1120,height=430, top=100, left=100')" value="Modifier un tiers du Majeur" class="button">
Merci
|
|
Cette discussion est classée dans : temps, perte, fenêtre, parent, superposition
Répondre à ce message
Sujets en rapport avec ce message
window.open provoque un scrolling (Top) sur la fenêtre parent. Est-il possible d'éviter ce déplacement ? [ par dam ]
Je fais appel à window.open, à partir d'un lien sur une page (qui fait 2 écrans de haut). Ce lien est placé en bas de page.Lorsque je clique sur le li
Fermer fenêtre avec cadres sans confirmation [ par joekid1 ]
Bonjour, je débute en html et javascript.J'ai créé une page web en html avec 2 cadres.Je cherche à pouvoir fermer sans message de confirmation, la fen
Changer la valeur d'une variable dans la page parent à partir de la page enfant [ par jpastier ]
Bonjour à tous,J'aimerais savoir s'il est possible de changer une variable dans la fenêtre parent à partir d'une fenêtre enfant.Exemple :- j'ouvre une
redirection automatique d'une fenêtre parent [ par minet03 ]
Bonjour, voilà mon problème. Je cherche à actualiser une page depuis un popup ouvert de celle ci. Est ce que c'est possible ? MerciLe CyberMonde nous
affichage pendant un calcul long [ par Hermios ]
Bonjour à tous D'abord, désolé pour le titre du sujet, je vois pas trop comment résumer mon problème en une ligne J'utilise une page html qui met beau
Problème de rafraîchissement d'une page parent [ par ideschamps ]
Bonjour,Voilà je suis en train de modifier une application existante basée sur le principe de contrôleur.J'ai donc à chaque appel de fonctionnalité mo
Detection d un mot sur une page et mise en route d'un timer ou fenêtre d'alerte [ par lecodebarre ]
Bonjour a tous,voila ma question est simple, je joue à un jeu qui s appelle gladiatus : ( http://s9.gladiatus.fr/game/c.php?uid=73972 ) si vous voulez
Faire communiqué fenêtre parent avec son popup [ par et1 ]
Bonjour à tous, Je recherche comment échanger des informations entre le popup et son parent. J'ai trouvé pour envoyer au parent à partir du popup. P
Appel d'une fonction parent qui ne marche pas [ par chamallow ]
Bonjour,J'ai une fenêtre (la principale), qui crée une nouvelle petite fenêtre lorque l'on clique sur un bouton afin de faire une mini-recherche. Donc
encore un pb xmlhttprequest [ par David_monchy ]
bon alors j'ai à nouveau un problème avec la méthode xmlhttprequest. Je développe un chat, et mon premier problème était de savoir comment afficher un
Livres en rapport
|
Derniers Blogs
[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : CONVERSIONRE : CONVERSION par peter2010
Cliquez pour lire la suite par peter2010
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|