1.htm をhttp://127.0.0.1/1.htmlとして開きます
1.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe id="ifr" src="http://localhost/2.html" width="100%" height="300">
</iframe>
<script>
iframe=document.getElementById("ifr");
iframe.contentWindow.postMessage("hello there", "http://localhost");
</script>
</body>
</html>
2.html
<!DOCTYPE html>
<html>
<head>
<script>
window.addEventListener("message", function(event) {
alert(hi);
if (event.data === "hello there" ) {
alert("Hi" + event.origin);
}
}, false );
</script>
<head>
<body>
Hello world
</body>
"
but I have that error: "Unable to post message to http://localhost. Recipient has origin http://127.0.0.1/
それは簡単な例です。最後に、次のような構造が必要です。ドメイン「A」には iframe があり、その src はドメイン「B」のページです。iframeにはボタンがあります。iframe内に表示されているボタンをクリックすると、ドメイン「A」のwindow.addEventListenerを呼び出す必要があります。どうすればよいですか?