XDM 跨文档传递消息

XDM 跨域发送消息

  /**
   * 垮文档消息传递
   * XDM 核心 postMessage() 方法
   * @msg 传递的数据  当然传递的数据可以是其他数据类型,为了更好的兼容浏览器,建议使用JSON.stringify()
   * @url 接受哪个域  这里很重要,如果参数为“ * ”,那么它就接受任何域的消息,为了安全建议指定一个域 (那么指定多个域呢?)
   * iframe 要获取contentwindow    document.querySelector('#iframe').contentwindow
   * window.postMessage()
  */ 
  // 跨域发送消息
  setTimeout(function(){
    window.postMessage('xiaoji','http://127.0.0.1:5500')
  },2000)

 // 接受跨域发送的消息
  window.onmessage = function(res){
    /**
     * @data 发送过来的消息
     * @origin 发送消息的所在域
     * @source  发送消息的window对象代理,如果是同一个域返回当前对象window,但是一定要记住,它只是window代理,并不能访问它的其他属性信息,只能调用postMessage()
    */
    // 确保发送的是已知的域名(为了安全,不接收其他域发送的消息)
    if(res.origin ==  'http://127.0.0.1:5500'){
      // 处理接受到的数据

      // 可选:向来源域发送回执(这里跟以上一样,去接受回执)
      res.source.postMessage()
    }

  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值