在一个内嵌iframe页面的情况下,子传父使用postMessage
子页面代码如下
在父子跨域的情况下只有5,6可以被打印出来,这个我的理解是不管是window.postMessage还是window.parent.postMessage本质都是postMessage函数,函数体里的代码不一样,区别只是内部this的问题,所以使用call绑定window.parent为this后,正常发送了message信息。
但我在父子同源的情况在测试这段代码,发现1,5,6可以正常发送
但是如果函数都是一样的,那1,2就没有本质区别,为什么同源的时候1可以而2又不行呢?
这似乎有推翻了我之前的逻辑,所以现在很困惑postMessage传值的本质到底是如何进行的。