我有iframe:
<iframe id="GameFrame"
sandbox="allow-scripts allow-pointer-lock"
src="https://127.0.0.1:112/games/1047/play">
</iframe>
我的父母页面位于:
https://127.0.0.1/arcade/not-hidden/space-blaster-1047
我正在尝试向iFrame发布消息:
var gameIframe = $("#GameFrame");
gameIframe.get(0).contentWindow.postMessage("screenshot", "");
但这引发了错误:
Uncaught SyntaxError:无法在'Window'上执行'postMessage':调用'postMessage'时无效的目标原点'。
其他尝试:
postMessage("screenshot", "https://127.0.0.1");
无法在'DOMWindow'上执行'postMessage':提供的目标原点('https://127.0.0.1')与收件人窗口的原点('null')不匹配。
如何在iFrame上发布消息?
答案 0 :(得分:3)
现在就想出来,需要使用*
作为原点:
gameIframe.get(0).contentWindow.postMessage("screenshot", "*");
答案 1 :(得分:1)
当我在本地(在本地目录中)运行代码时遇到此错误,但是当我将其放在Web服务器(Tomcat)中时,代码起作用了。