window.parent.postMessage는 iframe 상위 페이지와 하위 페이지의 도메인 이름이 다를 때 발생하는 도메인 간 문제를 해결합니다.

window.parent.postMessage는 iframe 상위 페이지와 하위 페이지의 도메인 이름이 다를 때 발생하는 도메인 간 문제를 해결합니다.

포함된  iframe 페이지는 일반적으로  상위 페이지의  개체를  가져오거나  window.parent 사용  합니다.window.topwindow

하위 페이지의  상위 페이지 매개변수 想使用(或传递给) 는 있지만 두 도메인 이름이 다르기 때문에 도메인 간 문제가 발생합니다 .

해결책

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')
// 传递的参数可以是数组,对象,字符串等

おすすめ

転載: blog.csdn.net/u011200562/article/details/132038934