Échec de l'exécution de 'postMessage" sur "Fenêtre": Invalid cible origine
J'ai l'iframe:
<iframe id="GameFrame"
sandbox="allow-scripts allow-pointer-lock"
src="https://127.0.0.1:112/games/1047/play">
</iframe>
Ma page parent est situé à:
https://127.0.0.1/arcade/not-hidden/space-blaster-1047
Je suis en train de poster un message à l'iFrame:
var gameIframe = $("#GameFrame");
gameIframe.get(0).contentWindow.postMessage("screenshot", "");
Mais cela génère l'erreur:
Uncaught SyntaxError: Échec de l'exécution de 'postMessage" sur "Fenêtre": Invalid cible origine "dans un appel à "postMessage'.
D'autres tentatives:
postMessage("screenshot", "https://127.0.0.1");
Échec de l'exécution de 'postMessage' sur 'DOMWindow': La cible origine fourni ('https://127.0.0.1') ne correspond pas au destinataire de la fenêtre de l'origine ("null").
Comment puis-je obtenir cet affichage d'un message à l'iFrame?
Cela ressemble à un doublon. Voir: stackoverflow.com/questions/23373376/...
OriginalL'auteur Tom Gullen | 2015-04-28
Vous devez vous connecter pour publier un commentaire.
Viens de comprendre ce droit maintenant, plus besoin d'utiliser
*
comme l'origine:addEventListener('message'...)
. MDN a des détails sur la façon d'utiliser, en toute sécuritépostMessage
. developer.mozilla.org/en-US/docs/Web/API/Window/postMessageJe reçois des "Protocoles, les domaines et les ports doivent correspondre" erreur sur Safari, même si je postMessage * cible d'origine. D'autres navigateurs. Est générique l'objectif n'est pas pris en charge par Safari? Quelle pourrait être la raison?
OriginalL'auteur Tom Gullen