Failed to execute ‘postMessage‘ on ‘DOMWindow‘: The target origin provided (‘http:127.0.0.1:1001‘)

Failed to execute ‘postMessage‘ on ‘DOMWindow‘: The target origin provided (‘http:127.0.0.1:1001‘),第1张

以下HTML在http://127.0.0.1:1001下运行,我们打算通过postMessage() 跨域与http://127.0.0.1:1002/1002.html进行通信:

DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Documenttitle>
head>

<body>
  <h1>server1h1>
  <iframe id="myframe" src="http://127.0.0.1:1002/1002.html" frameborder="0">iframe>

  <script>
    myframe.onload = function () { //注意要onload之后,才可以用postMessage
      let iframeWindow = myframe.contentWindow;
      iframeWindow.postMessage("宁静致远", "http://127.0.0.1:1002/1002.html");
    }

    //监听B传递的信息
    window.onmessage = function (ev) {
      console.log(ev.data);
    }
  script>

body>

html>

这里需要注意,我们 发送方的引用,即调用postMessage() 那个引用的源要与接受方的源即postMessage()的第二的参数 要同源。否则会报以下错误:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存