j’ai le script suivant
Page parent (pair_pixel_filter.php):
window.addEventListener("message", function(e) { $('#log').append("Received message: " + (e.data)); }, false); $('.photo-upload-btn').click(function(event) { event.preventDefault(); window.open($(this).attr("href"), "popupWindow", "width=600,height=600,scrollbars=yes"); });
La page de l’enfant
$.ajax({ type: 'post', url: url, data: { base64data: dataURL }, success: function(data) { window.opener.postMessage(data, "pair_pixel_filter.php"); window.close(); } });
Fondamentalement ouvrir un Popup et ensuite faire quelques ajax sur pop-up et renvoyer le résultat au parent. Mais de Child je reçois cette erreur.
Uncaught SyntaxError: impossible d’exécuter ‘postMessage’ sur ‘Window’: origine cible non valide ‘pair_pixel_filter.php’ dans un appel à ‘postMessage’
Le second paramètre de postMessage
est “l’origine cible”. C’est le domaine où se trouve la page, pas le nom du fichier (php).
Ce doit être quelque chose comme:
window.opener.postMessage(data, "http://example.com");
Voir: https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage