Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 10h23   #1
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
Par défaut window parent postMessage

Bonjour,

J'ai deux intranet, l'un en java, l'autre en php.
Le premier fait ouvre dans une iframe le second. le second devrait me retournée une chaîne de caractère que le premier doit intégrer dans un champ de formulaire.
J'ai pas mal creusé la question du cross-domain mais sans succès pour le moment. J'ai fait aussi pas mal de test, mais pour le moment sans succès.
Sur pas mal de site on parle de l'utilisation window.parent.postMessage avec l'utilisation d'iframe. J'ai fait un test en local cela fonctionne correctement.
en revanche avec mes sites cela échoue et Firefox me retourne un undefined sur le code suivant contenu dans l'iframe :

Code :
1
2
try { window.parent.postMessage("retour", "*") ; }
catch(err) { alert("err : " + err.description); }
Avez-vous déjà eu le cas ? et si oui comment le résoudre ?
D'avance merci de votre aide.

HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h53   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 580
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 580
Points : 4 085
Points : 4 085
Par curiosité, pourquoi 2 langages serveur ?
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h56   #3
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
Historique semble-t-il.
Je reprends des développements, donc je n'ai pas encore toutes les clés.
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 11h18   #4
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 580
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 580
Points : 4 085
Points : 4 085
Citation:
Envoyé par HadanMarv Voir le message
Historique semble-t-il.
Je reprends des développements, donc je n'ai pas encore toutes les clés.
Courage.

(et, non, en ce qui me concerne je n'ai pas de conseil à te donner sur ton problème spécifique par contre si tu as des différences local/online, essaie de débugger avec Firebug, notamment pour avoir une visibilité sur les échanges HTTP)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2011, 11h22   #5
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
pour le moment je n'ai que des traces de Permission denied...
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 14h13   #6
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
J'y suis finalement arrivé, enfin presque. si j'attaque ma jsp directement dans le navigateur, c'est ok. en revanche en l'incluant dans une modal ou une popup, bah là c'est échec complet...
Permission denied ModalContentWindow.postMessage
Quelqu'un aurait-il une idée ?
D'avance merci de vos lumières.

HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 14h50   #7
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
Juste pour aiguiller les réflexions de manière plus fine j'obtiens l'erreur :
Permission refusée à <http://monsiteenphp> d'appeler la méthode ModalContentWindow.postMessage alors que je passe par un window.open il me parle tout de même de modal...

Après plusieurs recherche, semble effectivement que ce soit du côté des popups que cela bloque. Avez-vous déjà entendu parler de ce problème ?

D'avance merci.
Pour rappel, quand je ne suis pas en popup cela fonctionne très bien, et il m'annonce en plus que je suis bien sur deux domaines différents...
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 09h32   #8
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
J'utilise ce bout de code pour récupérer les messages postés :

Code :
1
2
3
4
5
 
window.onmessage = function(e){
	alert("Data : " + e.data) ;
	alert("Origin : " + e.origin) ;
};
Dans le cas ou je tape l'url dans la barre d'adresse tout fonctionne correctement, j'ai bien mon message envoyé lors du premier alert et l'origine correspondant (le domaine en fait), dans le second alert.

Personne n'a encore rencontré ce problème ?
Ce que je n'arrive pas à cerner, c'est pourquoi cela ne fonctionne pas dans le cas où le tout se trouve dans une popup.

D'avance merci de vos réponses.
HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 15h24   #9
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
Bon, et bien je viens poster la réponse car c'est franchement incompréhensible du moins de mon point de vue. Probablement que certains quand ils liront mon post se diront bien évidement mais pour ma part cela reste un mystère.

Donc j'avais creusé du côté des Iframe en construisant une popup à la volée incluant une iframe avec mon autre site en php. Sans passer par la popup en tapant donc l'url directement dans mon navigateur, j'obtenais le résultat escompté. En revanche en appelant ma page simple contenant l'iframe dans une popup comme nécessaire dans mon site en Java, et bien Permission Denied...

J'ai essayé un truc dingue, j'ai tout viré en laissant simplement l'ouverture dans une popup de mon site en php, et remplacé le code :

Code :
window.parent.postMessage(..., ....) ;
par

Code :
window.opener.postMessage(..., ...) ;
J'ai rajouté un eventListener dans la page principale et bien tout fonctionne.
Si certain d'entre vous on le même soucis, je peux fournir plus d'informations voir même des exemples, de ce qui peut et ne peut pas marcher.

@+
HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 10h36   #10
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
Et bien c'était trop beau pour être vrai, bien entendu sous IE cela ne fonctionne pas... il me dit que :

est inconnu !!!!
Avez-vous une idée ?
D'avance merci.

HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 15h18   #11
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
avec l'utilisation de :
il semble que ce soit logique. Cependant en passant par un :
à la place c'est une erreur bien plus fun :
Code :
Cette interface n'est pas reconnu
Sympa, vous trouvez pas ?
Je n'arrive pas à croire que je suis le premier à faire face à ce genre de problème. C'est incompréhensible ce que je veux faire / explique ?

Merci de vos retours.
HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 09h46   #12
Membre du Club
 
Homme
Développeur Java
Inscription : octobre 2009
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : octobre 2009
Messages : 108
Points : 42
Points : 42
bon avec le week-end prolongé non pas plus d'idée ?
Pour ma part, je vais maintenant attaqué les tests sur IE8 pour voir.
Si certains ont des idées, je suis toujours preneur.

HadanMarv
HadanMarv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h19.


 
 
 
 
Partenaires

Hébergement Web