Bonjour,
Je cherche une alternative à la fonction javascript postMessage().
Voici le contexte :
Sur le site d'un client, j'ai une page sur le sous-domaine "A". Celle-ci ouvre une fenêtre popup sur le sous-domaine "B". Le but étant de transmettre une information depuis la popup (B) vers la fenêtre appelante (A).
Pour être plus clair, j'ai fait un exemple en local.
Fenêtre appelante (A) (http://parent.popup)
Popup (B) (http://child.popup)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <!DOCTYPE html> <html> <head> <title>parent</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> </head> <body> <button onclick="Open()">Open</button> <input type="text" id="result" /> <script type="text/javascript"> function Open() { child = window.open("http://child.popup", "_blank", "height=600,width=600"); } $(window).on("message", receiveMessage); function receiveMessage(e) { //console.log(e.origin); if (e.origin === "http://child.popup") { $('#result').val(e.data); } } </script> </body> </html>
Cela fonctionne sur Chrome et sur Firefox mais pas sur Internet Explorer ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <!DOCTYPE html> <html> <head> <title>child</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> </head> <body> <button onclick="Go()">Go</button> <input type="text" id="result" value="Hello World!" /> <script type="text/javascript"> function Go() { opener.postMessage($('#result').val(), '*'); } window.onbeforeunload = function(){ opener.postMessage($('#result').val(), '*'); }; </script> </body> </html>
Sur ie11, cela fonctionne si je suis sur des domaines identiques. De plus la fonction postMessage() n'est pas reconnu sur les versions antérieures à ie10.
Je cherche donc une alternative à postMessage() pour que cela fonctionne sur tous les navigateurs, auriez-vous des outils à me conseiller ?
J'ai essayé ceci sans succès :
Dans l'attente de vos conseils, je vous remercie par avance.
Partager