window.parent.postMessage 解决iframe父子页面域名不一样出现的跨域问题

内嵌 iframe 页面,一般使用 window.parent 或 window.top 来获取父页面的 window 对象

在子页面 想使用(或传递给) 父页面的参数,但是原因两个的域名不一样,所以会出现跨域问题。

解决办法

1、父页面监听message,写法固定

//监听单个事件
window.addEventListener('message', function (msg) {
console.log(msg)
}) //监听多个事件,可以使用if来判断 msg里边的参数进行区分

2、子页面发送 message 消息,并附带参数

// window.parent 是 iframe 子页面获取父页面的 window 对象

// 后面的 * 号就是处理跨域问题的,任何域名都不会出现跨域问题
window.parent.postMessage("需要传递的参数", '*') // 也可以指定传送域名地址,这个域名不会出现跨域问题,写父页面(接收)域名地址
window.parent.postMessage("需要传递的参数", 'http://0.0.0.0:8080')
// 传递的参数可以是数组,对象,字符串等

最新文章

  1. iOS网络4——Reachability检测网络状态
  2. Composer根据Name显示与隐藏
  3. java11
  4. linux mysql
  5. TCP的流模式与UDP的报文模式对比
  6. SQL Server数据库学习笔记-设计表时应该考虑的因素
  7. Hadoop概念学习系列之谈谈RPC(三十三)
  8. Lucene分页-----SearcherAfter
  9. Ubuntu-Java-Scala-Spark-IEDA-configure
  10. Threejs 官网 - Three.js 的图形用户界面工具(GUI Tools with Three.js)
  11. 进一步解 apt-get 的几个命令
  12. Samba远程代码执行漏洞(CVE-2017-7494)本地复现
  13. php工具方法
  14. 关于a标签颜色的探索
  15. asp.net core 配置
  16. 如何用Netty实现一个轻量级的HTTP代理服务器
  17. css坑了我一下下之line-height
  18. 软件开发者路线图梗概&书摘chapter6
  19. windos64位下python3.6安装pywin32的问题
  20. C 语言restrict 关键字的概念及使用例子

热门文章

  1. Unity模型剖切
  2. ADE-XL bsub提交超时
  3. 7、Taylor公式(泰勒公式)通俗+本质详解
  4. springboot整合mybatis以及mybatis源码分析
  5. (0502)《UVM》sequence
  6. pj_0004_time_swap
  7. LeNet,AlexNet,VGG,GoogLeNet
  8. 1.mysql创建索引
  9. 利用pandas+pyecharts制作可视化图表
  10. python翻译(二)