Communication entre 2 fenêtres

Communication entre 2 fenêtres - HTML/CSS - Programmation

Marsh Posté le 24-07-2013 à 14:19:09    

Bonjour,
 
J'ai un souci que je n'arrive pas à résoudre avec une fonction javascript. Mon problème est assez spécifique car il inclut des éléments cartographiques en mode WEB.
 
Je m'explique, j'ai une fenêtre contenant une carte en mode web dans une iframe. Dans le page où se trouve ma carte je clique sur une ligne d'un listing (représentée géographiquement dans ma carte), me permettant d'ouvrir une autre fenêtre. Dans celle ci je peux mettre à jour des éléments géographique de la page parent. Avant d'ajouter un objet je pourrait vérifier par l'intermédiaire d'une fonction ou il se situe  (j'utilise une fonction de géolocalisation). Mais cela ne fonctionne pas. Je pense qu'il doit y avoir un problème d'accès à cette fonction.  
 
Voici une partie de mon code
 
fenêtre parent : la déclaration de la carte dans une i frame :
 

Code :
  1. <TD>
  2. <iframe src="/carte_opah/flash/" name="frameDM" id="frameDM" width="800" height="700"></iframe>
  3. </TD>


 
 
carte_opah/fash est le chemin de la carte
 
Dans le code de la fenêtre fille : j'ai déclaré la fonction permettant la localisation de l'objet

Code :
  1. <script>
  2.      
  3.   var parentWindow = window.opener;     
  4.      
  5. if (parentWindow && parentWindow.open && (typeof(parentWindow.closed)=="undefined" || !parentWindow.closed))
  6. {
  7.       parentWindow.frameDM.mainMap.search('167.1372',{'type':'localisation','key':'primary','zoom':2,'zoomType':'X'});
  8. }
  9. </script>


 
 
Le problème vient peut être l'accès à l'iframe. j'ai utilisé window.opener (j'ai même testé avec self.opener).
 
ce qui est étrange c'est que lorsque j'utilise le debbuger de firefox et que dans la fenêtre espion je tape window.opener.frameDM.mainMap , il accède bien à la fonction "search". quand j'utilise cette fonction directement dans la fenêtre mère elle fonctionne bien et la localisation se produit
 
Au final je ne vois pas trop où peut se situer l'erreur.  
 
Si qqu'un a une idée je suis preneur !
 
Merci
 
SD

Reply

Marsh Posté le 24-07-2013 à 14:19:09   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed